1. 程式人生 > >28,MySQL 8.0參考手冊 5.4.2.2預設錯誤日誌目標配置

28,MySQL 8.0參考手冊 5.4.2.2預設錯誤日誌目標配置

本節討論哪些伺服器選項可配置預設錯誤日誌目標,該目標可以是控制檯或命名檔案。它還指示哪些日誌寫入器元件將其自己的輸出目標基於預設目標。

在此討論中,“ 控制檯 ”表示 stderr標準錯誤輸出。這是您的終端或控制檯視窗,除非標準錯誤輸出已被重定向到不同的目的地。

對於Windows和Unix系統,伺服器解釋決定預設錯誤日誌目標的選項有些不同。請務必使用適合您平臺的資訊來配置目的地:

對於Windows,請參閱Windows上的 預設錯誤日誌目標。

對於Unix和類Unix系統,請參見Unix和類Unix系統上的 預設錯誤日誌目標。

伺服器解釋預設錯誤日誌目標選項後,它會設定log_error 系統變數以指示預設目標,這會影響多個日誌記錄程式元件寫入錯誤訊息的位置。請參閱 預設錯誤日誌目標如何影響日誌寫入器。

Windows上的預設錯誤日誌目標

Unix和類Unix系統上的預設錯誤日誌目標

預設錯誤日誌目標如何影響日誌寫入器

Windows上的預設錯誤日誌目標

在Windows上,mysqld的使用 --log-error, --pid-file和 --console選項來確定預設的錯誤日誌目的地是否是控制檯或檔案,並且,如果一個檔案,檔名:

如果--console給出,則預設目標是控制檯。(如果兩者都給出,--console則優先--log-error,並且以下專案 --log-error不適用。)

如果--log-error沒有給出,或者沒有命名檔案,則預設目標是host_name.err 資料目錄--pid-file中指定的檔案 ,除非指定了該 選項。在這種情況下,檔名是PID檔案基本名稱,字尾為.err資料目錄中的字尾。

如果--log-error命名檔案,則預設目標是該檔案( .err如果名稱沒有後綴,則新增字尾)位於資料目錄下,除非給出絕對路徑名來指定不同的位置。

如果預設錯誤日誌目標是控制檯,則伺服器將log_error 系統變數設定為stderr。否則,預設目標是一個檔案,伺服器設定 log_error為檔名。

Unix和類Unix系統上的預設錯誤日誌目標

在Unix和類Unix系統上,mysqld使用該--log-error選項來確定預設錯誤日誌目標是控制檯還是檔案,以及如果檔案是檔名:

如果--log-error沒有給出,預設目標是控制檯。

如果--log-error在沒有命名檔案的情況下給出,則預設目標是host_name.err 在資料目錄中命名的檔案 。

如果--log-error命名檔案,則預設目標是該檔案( .err如果名稱沒有後綴,則新增字尾)位於資料目錄下,除非給出絕對路徑名來指定不同的位置。

如果--log-error在選項檔案中給定的[mysqld], [server]或 [mysqld_safe]部分, mysqld_safe的查詢和使用的選項,並將其傳遞到mysqld的。

注意
Yum或APT軟體包安裝通常/var/log使用諸如log-error=/var/log/mysqld.log伺服器配置檔案中的選項 來配置錯誤日誌檔案位置 。從選項中刪除檔名會導致host_name.err 使用資料目錄中的 檔案。

如果預設錯誤日誌目標是控制檯,則伺服器將log_error 系統變數設定為stderr。否則,預設目標是一個檔案,伺服器設定 log_error為檔名。

預設錯誤日誌目標如何影響日誌寫入器

伺服器解釋錯誤日誌目標配置選項後,它將設定 log_error系統變數以指示預設錯誤日誌目標。日誌記錄器元件可以將其自己的輸出目標基於該 log_error值,或獨立於其確定目標 log_error

如果log_error是 stderr,預設錯誤日誌目標是控制檯,並且將其輸出目標基於預設目標的日誌寫入器也會寫入控制檯:

log_sink_internal, log_sink_json, log_sink_test:這些作家寫到控制檯。即使對於log_sink_json可以多次啟用的作家也是如此 ; 所有例項都寫入控制檯。

log_sink_syseventlog:該寫入器寫入系統日誌,不管其log_error值如何 。

如果log_error不是 stderr,則預設錯誤日誌目標是一個檔案並log_error 指示檔名。日誌編寫器將其輸出目標基於預設目標基本輸出檔案,並以該檔名命名。(作者可能使用完全相同的名稱,或者可能使用其中的一些變體。)假設 log_error值 file_name。然後日誌編寫者使用這樣的名字:
學什麼技術好


log_sink_internal, log_sink_test:這些寫入者寫入 file_name。

log_sink_json:此寫入程式的連續例項在log_error_services寫入名為file_name 加上編號 字尾的檔案的 值中命名: , 等等。 

.NN.jsonfile_name.00.jsonfile_name.01.json


log_sink_syseventlog:該寫入器寫入系統日誌,不管其log_error值如何 。