这些函数的行为受 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