這些函式的行為會受到 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