这些函数的行为受 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-Y 0-N(默认)
切换配置 buffer_disabled_in_cli 开启。buffer_disabled_in_cli 切换默认关闭。如果切换 buffer_disabled_in_cli 开启,并且在 cli 中运行,seaslog.use_buffer 设置将被丢弃,Seaslog 会立即写入数据存储。
seaslog.buffer_size
int将 buffer_size 配置为 100。buffer_size 默认 0,这意味着不使用缓冲区。如果 buffer_size > 0,当内存中预记录的日志计数 >= 此 buffer_size 时,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-Y 0-N(默认)
注意:
seaslog.disting_by_hour = 1 切换使用按小时区分的日志记录器。这意味着 SeasLog 将每小时创建一个文件。
seaslog.disting_folder
int切换使用带文件夹的日志记录器。1-Y(默认) 0-N
注意:
seaslog.disting_folder = 1 切换使用按文件夹区分的日志记录器,这意味着 SeasLog 将按文件夹创建文件,当此配置关闭时,SeasLog 将使用下划线连接日志记录器和时间创建文件,例如 default_20180211.log。
seaslog.disting_type
int切换使用带类型的日志记录器。1-Y 0-N(默认)
注意:
seaslog.disting_type = 1 切换使用按类型区分的日志记录器,这意味着 SeasLog 将创建 info\warn\error 和其他类型的文件。
seaslog.ignore_warning
int切换忽略 SeasLog 警告。1-On(默认) 0-Off
注意:
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-On(默认) 0-Off
注意:
seaslog.throw_exception = 1 打开一个异常,让 SeasLog 抛出自身。当目录权限或接收服务器端口被阻止时,抛出一个异常;关闭时不抛出异常。
seaslog.trace_error
int使用默认日志记录器自动记录最终错误。1-Y(默认) 0-N
seaslog.trace_exception
int使用默认日志记录器自动记录异常。1-Y 0-N(默认)
seaslog.trace_notice
int使用默认日志记录器自动记录通知。1-Y 0-N(默认)
seaslog.trace_warning
int使用默认日志记录器自动记录警告。1-Y 0-N(默认)
seaslog.trim_wrap
int修剪日志消息中的 \n 和 \r。1-On 0-Off(默认)
seaslog.use_buffer
int切换使用带内存的日志缓冲区。1-Y 0-N(默认)
注意:
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"。
注意:
提供以下默认变量,这些变量可以直接在日志模板中使用,并在最终生成日志时替换为相应的值。
默认日志模板是:
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 请求 ID。为了区分单个请求,例如不调用 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