PHP 大会日本 2024

运行时配置

这些函数的行为受 php.ini 中的设置影响。

Seaslog 配置选项
名称 默认值 可更改 变更日志
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

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top