2024 年 PHP Conference Japan

執行階段設定

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

在命令列介面中停用緩衝區。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

新增註釋

使用者貢獻的註釋

此頁面沒有使用者貢獻的註釋。
To Top