MySQL Shell 應用程式日誌檔案的位置是使用者組態路徑,檔案名稱為 mysqlsh.log
。依預設,MySQL Shell 會將日誌層級 5 (錯誤、警告和資訊訊息) 的日誌資訊傳送至此檔案。
日誌訊息的時間戳記採用 UTC 格式。
若要變更傳送的日誌資訊層級,或停用應用程式日誌檔案的記錄,請選擇下列其中一個選項
啟動 MySQL Shell 時,使用
--log-level
命令列選項。使用 MySQL Shell
\option
命令設定logLevel
MySQL Shell 組態選項。如需使用此命令的指示,請參閱第 13.4 節「設定 MySQL Shell 選項」。使用
shell.options
物件設定logLevel
MySQL Shell 組態選項。如需使用此組態介面的指示,請參閱第 13.4 節「設定 MySQL Shell 選項」。
可用的日誌層級如表 12.1 「MySQL Shell 中的日誌層級」中所列。如果為選項指定日誌層級 1 或 none
,則會停用寫入應用程式日誌檔案的記錄。所有其他值都會保持啟用記錄,並設定日誌檔案中的詳細程度。此選項需要值。
使用 --log-level
命令列選項,您可以使用其文字名稱或數字對等項目來指定日誌層級,因此下列範例具有相同的效果
$> mysqlsh --log-level=4
$> mysqlsh --log-level=warning
使用 logLevel
MySQL Shell 組態選項,您只能指定數字日誌層級。
如果您在日誌層級前面加上 @ (小老鼠符號),則除了寫入 MySQL Shell 日誌檔案外,日誌項目也會輸出到其他可檢視的位置。下列範例具有相同的效果
$> mysqlsh --log-level=@8
$> mysqlsh --log-level=@debug3
在以 Unix 為基礎的系統上,日誌項目會以目前為 MySQL Shell 設定的輸出格式輸出到 stderr
。這是 resultFormat
MySQL Shell 組態選項的值,除非透過使用 --json
命令列選項啟動 MySQL Shell 來啟用 JSON 包裝。
在 Windows 系統上,日誌項目會使用 OutputDebugString()
函數列印,其輸出可以在應用程式偵錯工具、系統偵錯工具或偵錯輸出擷取工具中檢視。
MySQL Shell 日誌檔案格式為純文字,項目包含時間戳記和問題描述,以及上述清單中的日誌層級。例如
2016-04-05 22:23:01: Error: Default Domain: (shell):1:8: MySQLError: You have an error
in your SQL syntax; check the manual that corresponds to your MySQL server version for
the right syntax to use near '' at line 1 (1064) in session.sql("select * from t
limit").execute().all();
在 Windows 上,應用程式日誌檔案的預設路徑是 %APPDATA%\MySQL\mysqlsh\mysqlsh.log
。若要尋找系統上的 %APPDATA%
位置,請從命令列加以回應。例如
C:>echo %APPDATA%
C:\Users\exampleuser\AppData\Roaming
在 Windows 上,路徑是使用者專屬的 %APPDATA%
資料夾,並新增 MySQL\mysqlsh
。使用上述範例,路徑將會是 C:\Users\exampleuser\AppData\Roaming\MySQL\mysqlsh\mysqlsh.log
。
如果您希望將應用程式日誌檔案儲存在不同的位置,您可以定義環境變數 MYSQLSH_USER_CONFIG_HOME
來覆寫預設的使用者組態路徑。此變數的值會取代 Windows 上的 %AppData%\MySQL\mysqlsh\
。
您也可以在從命令列執行 mysqlsh
時,使用 --log-file
選項來覆寫使用者組態路徑。--log-file
選項會套用至個別的 MySQL Shell 執行個體,這表示不同的執行個體可以寫入不同的位置。
對於執行 Unix 的電腦,應用程式日誌檔案的預設路徑是 ~/.mysqlsh/mysqlsh.log
,其中 「~」代表使用者的主目錄。環境變數 HOME
也代表使用者的主目錄。將 .mysqlsh
附加到使用者的主目錄會決定日誌的預設路徑。
如果您希望將應用程式日誌檔案儲存在不同的位置,您可以定義環境變數 MYSQLSH_USER_CONFIG_HOME
來覆寫預設的使用者組態路徑。此變數的值會取代 Unix 上的 ~/.mysqlsh/
。
您也可以在從命令列執行 mysqlsh
時,使用 --log-file
選項來覆寫使用者組態路徑。--log-file
選項會套用至個別的 MySQL Shell 執行個體,這表示不同的執行個體可以寫入不同的位置。