这些函数的行为受 php.ini 中的设置影响。
| 名称 | 默认值 | 可更改 | 变更日志 |
|---|---|---|---|
| seaslog.appender | 1 | INI_SYSTEM |
|
| seaslog.appender_retry | 0 | INI_ALL |
|
| seaslog.level | 8 | INI_ALL |
|
| seaslog.remote_host | 127.0.0.1 | INI_ALL |
|
| seaslog.remote_port | 514 | INI_ALL |
|
| seaslog.remote_timeout | 1 | INI_SYSTEM |
|
| seaslog.default_basepath | /var/log/www | INI_SYSTEM |
|
| seaslog.default_logger | default | INI_SYSTEM |
|
| seaslog.default_template | %T | %L | %P | %Q | %t | %M | INI_SYSTEM |
|
| seaslog.default_datetime_format | Y-m-d H:i:s | INI_SYSTEM |
|
| seaslog.trace_error | 1 | INI_ALL |
|
| seaslog.trace_exception | 0 | INI_SYSTEM |
|
| seaslog.trace_notice | 0 | INI_ALL |
|
| seaslog.trace_warning | 0 | INI_ALL |
|
| seaslog.use_buffer | 0 | INI_SYSTEM |
|
| seaslog.buffer_size | 0 | INI_ALL |
|
| seaslog.buffer_disabled_in_cli | 0 | INI_SYSTEM |
|
| seaslog.disting_type | 0 | INI_SYSTEM |
|
| seaslog.disting_folder | 1 | INI_SYSTEM |
|
| seaslog.disting_by_hour | 0 | INI_SYSTEM |
|
| seaslog.recall_depth | 0 | INI_ALL |
|
| seaslog.trim_wrap | 0 | INI_ALL |
|
| seaslog.ignore_warning | 1 | INI_ALL |
|
| seaslog.throw_exception | 1 | INI_ALL |
以下是配置指令的简短说明。
seaslog.appender int切换记录日志数据存储。1文件 2TCP 3UDP(切换默认值 1)
当seaslog.appender配置为2 (TCP)或3 (UDP)时,SeasLog 会将日志发送到tcp://remote_host:remote_port或udp://remote_host:remote_port服务器。
当SeasLog发送日志到TCP/UDP时,样式遵循RFC5424。{logInfo}受seaslog.default_template影响。
The log style finally formatted such as:
<15>1 2017-08-27T01:24:59+08:00 vagrant-ubuntu-trusty test/logger[27171]: 2016-06-25 00:59:43 | DEBUG | 21423 | 599157af4e937 | 1466787583.322 | this is a neeke debug
<14>1 2017-08-27T01:24:59+08:00 vagrant-ubuntu-trusty test/logger[27171]: 2016-06-25 00:59:43 | INFO | 21423 | 599157af4e937 | 1466787583.323 | this is a info log
<13>1 2017-08-27T01:24:59+08:00 vagrant-ubuntu-trusty test/logger[27171]: 2016-06-25 00:59:43 | NOTICE | 21423 | 599157af4e937 | 1466787583.324 | this is a notice log
seaslog.appender_retry int记录日志重试次数。默认为 0(不重试)
seaslog.buffer_disabled_in_cli int在 cli 中禁用缓冲。1-是 0-否(默认)
打开 buffer_disabled_in_cli 配置。buffer_disabled_in_cli 默认关闭。如果打开 buffer_disabled_in_cli,并且在 cli 中运行,则会忽略 seaslog.use_buffer 设置,Seaslog 会立即写入数据存储。
seaslog.buffer_size int将缓冲区大小配置为 100。缓冲区大小默认为 0,表示不使用缓冲区。如果缓冲区大小 > 0,则当内存中预先记录的日志计数 >= 此缓冲区大小时,SeasLog 会将其重新写入数据存储,然后刷新内存池。
seaslog.default_basepath string默认日志基本路径。默认为 "/var/log/www"。
seaslog.default_datetime_format string日期时间样式。默认为 "Y-m-d H:i:s"。
seaslog.default_logger string默认日志记录器路径。默认为 "default"。
seaslog.disting_by_hour int切换是否按小时使用日志记录器。1-是 0-否(默认)
注意:
seaslog.disting_by_hour = 1 切换按小时使用日志记录器。这意味着 SeasLog 将每小时创建一个文件。
seaslog.disting_folder int切换是否按文件夹使用日志记录器。1-是(默认) 0-否
注意:
seaslog.disting_folder = 1 切换按文件夹使用日志记录器,这意味着 SeasLog 将按文件夹创建文件,并且当此配置关闭时,SeasLog 将使用下划线连接日志记录器和时间来创建文件,例如 default_20180211.log。
seaslog.disting_type int切换是否按类型使用日志记录器。1-是 0-否(默认)
注意:
seaslog.disting_type = 1 切换按类型使用日志记录器,这意味着 SeasLog 将创建 info\warn\error 等类型的文件。
seaslog.ignore_warning int切换是否忽略 SeasLog 警告。1-开启(默认) 0-关闭
注意:
seaslog.ignore_warning = 1 打开忽略 SeasLog 本身的警告。当目录权限或接收服务器端口被阻止时,会忽略;当关闭时,会抛出警告。
seaslog.level int记录日志级别。默认为 8(所有级别)。0-EMERGENCY 1-ALERT 2-CRITICAL 3-ERROR 4-WARNING 5-NOTICE 6-INFO 7-DEBUG 8-ALL
注意:
提示:自 1.7.0 版本起,此配置项已更改。在 1.7.0 版本之前,值越小,根据级别记录的日志越多:0-全部 1-调试 2-信息 3-通知 4-警告 5-错误 6-严重 7-警报 8-紧急 在 1.7.0 版本之前,默认为 0(所有级别)。
seaslog.recall_depth int日志函数回溯深度。会影响%F中的变量LineNo。默认为 0
seaslog.remote_host string如果您使用记录 TCP 或 UDP,请配置此远程 IP。默认为 "127.0.0.1"
seaslog.remote_port int如果您使用记录 TCP 或 UDP,请配置此远程端口。默认为 514
seaslog.remote_timeout int如果您使用记录 TCP 或 UDP,请配置此远程超时。默认为 1 秒
seaslog.throw_exception int切换是否抛出 SeasLog 异常。1-开启(默认) 0-关闭
注意:
seaslog.throw_exception = 1 打开抛出 SeasLog 本身的异常。当目录权限或接收服务器端口被阻止时,抛出异常;当关闭时,不抛出异常。
seaslog.trace_error int自动使用默认日志记录器记录最终错误。1-是(默认) 0-否
seaslog.trace_exception int自动使用默认日志记录器记录异常。1-是 0-否(默认)
seaslog.trace_notice int自动使用默认日志记录器记录通知。1-是 0-否(默认)
seaslog.trace_warning int自动使用默认日志记录器记录警告。1-是 0-否(默认)
seaslog.trim_wrap int修剪日志消息中的 \n 和 \r。1-开启 0-关闭(默认)
seaslog.use_buffer int切换是否使用内存日志缓冲区。1-是 0-否(默认)
注意:
seaslog.use_buffer = 1 打开 use_buffer 配置。use_buffer 默认关闭。如果打开 use_buffer,SeasLog 会将日志预先记录到内存中,然后在请求关闭或 php 进程退出时(PHP RSHUTDOWN 或 PHP MSHUTDOWN)将其重新写入数据存储。
seaslog.default_template string默认日志模板。默认为 "%T | %L | %P | %Q | %t | %M"。
注意:
提供了以下默认变量,这些变量可以直接在日志模板中使用,并在最终生成日志时替换为相应的 value。
默认日志模板为:
seaslog.default_template = "%T | %L | %P | %Q | %t | %M",这意味着默认日志样式为:{dateTime} | {level} | {pid} | {uniqid} | {timeStamp} | {logInfo}如果您自定义日志模板,例如:
seaslog.default_template = "[%T]:%L %P %Q %t %M",则表示日志样式被自定义为:[{dateTime}]:{level} {pid} {uniqid} {timeStamp} {logInfo}
Seaslog 默认变量表 变量名称 描述 %L 级别。 %M 消息。 %T 日期时间。例如 2017-08-16 19:15:02,受seaslog.default_datetime_format影响。%t 时间戳。例如 1502882102.862,精确到毫秒。%Q RequestId。用于区分单个请求,例如不调用 SeasLog::setRequestId($string)函数时,在请求初始化时使用内置static char *get_uniqid ()函数生成的唯一值。%H 主机名。 %P 进程 ID。 %D 域名:端口。例如 www.cloudwise.com:80;当为 Cli 时,例如cli。%R 请求 URI。例如 /app/user/signin;当为 Cli 时,为索引脚本,例如CliIndex.php。%m 请求方法。例如 Get;当在 Cli 中时,它是命令脚本,例如/bin/bash。%I 客户端 IP;当在 Cli 中时,它是 local。优先级:HTTP_X_REAL_IP > HTTP_X_FORWARDED_FOR > REMOTE_ADDR%F 文件名:行号。例如 UserService.php:118。%U 内存使用量。字节。调用 zend_memory_usage。%u 峰值内存使用量。字节。调用 zend_memory_peak_usage。%C TODO类::方法。例如UserService::getUserInfo