這些函式的行為會受到 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在命令列介面中停用緩衝區。1-啟用 0-停用(預設)
開啟 buffer_disabled_in_cli 設定。buffer_disabled_in_cli 預設關閉。如果開啟 buffer_disabled_in_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-啟用 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-debug 2-info 3-notice 4-warning 5-error 6-critical 7-alert 8-emergency 在 1.7.0 版本之前,預設為 0 (全部)。
seaslog.recall_depth int日誌函數回溯深度。將影響變數 LineNo 於 %F 中。預設值為 0
seaslog.remote_host 字串如果您使用 TCP 或 UDP 記錄,請設定此遠端 IP。預設值為「127.0.0.1」
seaslog.remote_port 整數如果您使用 TCP 或 UDP 記錄,請設定此遠端埠號。預設值為 514
seaslog.remote_timeout 整數如果您使用 TCP 或 UDP 記錄,請設定此遠端逾時時間。預設值為 1 秒
seaslog.throw_exception 整數SeasLog 例外拋出開關。1-開啟(預設) 0-關閉
注意事項:
seaslog.throw_exception = 1 開啟拋出 SeasLog 例外的功能。當目錄權限或接收伺服器埠被阻擋時,將拋出例外;關閉時不拋出例外。
seaslog.trace_error 整數使用預設記錄器自動記錄最終錯誤。1-是(預設) 0-否
seaslog.trace_exception 整數使用預設記錄器自動記錄例外。1-是 0-否(預設)
seaslog.trace_notice 整數使用預設記錄器自動記錄通知。1-是 0-否(預設)
seaslog.trace_warning 整數使用預設記錄器自動記錄警告。1-是 0-否(預設)
seaslog.trim_wrap 整數修剪日誌訊息中的 \n 和 \r。1-開啟 0-關閉(預設)
seaslog.use_buffer 整數切換使用記憶體中的日誌緩衝區。1-是 0-否(預設)
注意事項:
seaslog.use_buffer = 1 開啟 use_buffer 設定。use_buffer 預設關閉。如果開啟 use_buffer,SeasLog 會先將日誌預先記錄在記憶體中,然後在請求關閉或 PHP 程序退出時(PHP RSHUTDOWN 或 PHP MSHUTDOWN)將其寫入資料儲存區。
seaslog.default_template 字串預設日誌模板。預設值為「%T | %L | %P | %Q | %t | %M」。
注意事項:
提供以下預設變數,可以直接在日誌模板中使用,並在最終生成日誌時替換為相應的值。
預設日誌模板為:
seaslog.default_template = "%T | %L | %P | %Q | %t | %M",這表示預設日誌樣式為:{日期時間} | {級別} | {行程識別碼} | {唯一識別碼} | {時間戳記} | {日誌資訊}如果您自訂日誌模板,例如:
seaslog.default_template = "[%T]:%L %P %Q %t %M",這表示日誌樣式將被自訂為:[{日期時間}]:{級別} {行程識別碼} {唯一識別碼} {時間戳記} {日誌資訊}
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 行程識別碼。 %D 網域:埠號。例如 www.cloudwise.com:80;在命令列介面下,例如cli。%R 請求 URI。例如 /app/user/signin;在命令列介面下,它是索引腳本,例如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