运行时配置

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

添加注释

用户贡献注释

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