MySQL Shell 8.0

このページは機械翻訳したものです。

9.1 アプリケーションログ

MySQL Shell アプリケーションログファイルの場所はユーザー構成パスで、ファイルの名前は mysqlsh.log です。 デフォルトでは、MySQL Shell はロギング情報をロギングレベル 5 (エラー、警告および情報メッセージ) でこのファイルに送信します。 送信されるロギング情報のレベルを変更したり、アプリケーションログファイルへのロギングを無効にするには、次のいずれかのオプションを選択します:

使用可能なロギングレベルは、表9.1「MySQL Shell でのロギングレベル」 にリストされています。 オプションにロギングレベル 1 または none を指定すると、アプリケーションログファイルへのロギングは無効になります。 他のすべての値はロギングを有効のままにし、ログファイルの詳細レベルを設定します。 このオプションには値が必要です。

--log-level コマンドラインオプションを使用すると、テキスト名または同等の数値を使用してロギングレベルを指定できるため、次の例でも同じ効果が得られます:

shell> mysqlsh --log-level=4
shell> mysqlsh --log-level=warning

logLevel MySQL Shell 構成オプションでは、数値のロギングレベルのみを指定できます。

ロギングレベルの先頭に@ (アットマーク) を付加すると、ログエントリは表示可能な追加の場所に出力され、MySQL Shell ログファイルに書き込まれます。 次の例でも同じ効果があります:

shell> mysqlsh --log-level=@8
shell> mysqlsh --log-level=@debug3

Unix ベースのシステムでは、ログエントリは、現在 MySQL Shell に設定されている出力形式で stderr に出力されます。 これは、--json コマンドラインオプションを使用して MySQL Shell を起動して JSON ラッピングがアクティブ化されていないかぎり、resultFormat MySQL Shell 構成オプションの値です。

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 でのログファイルの場所

Windows では、アプリケーションログファイルへのデフォルトパスは %APPDATA%\MySQL\mysqlsh\mysqlsh.log です。 システム上の %APPDATA% の場所を検索するには、コマンドラインからエコーします。 例:

C:>echo %APPDATA%

C:\Users\exampleuser\AppData\Roaming

Windows では、パスは、MySQL\mysqlsh が追加されたユーザー固有の %APPDATA% フォルダです。 前述の例を使用すると、パスは C:\Users\exampleuser\AppData\Roaming\MySQL\mysqlsh\mysqlsh.log になります。

アプリケーションログファイルを別の場所に格納する場合は、環境変数 MYSQLSH_USER_CONFIG_HOME を定義することで、デフォルトのユーザー構成パスをオーバーライドできます。 この変数の値は、Windows 上の %AppData%\MySQL\mysqlsh\に置き換わります。

Unix ベースシステムでのログファイルの場所

Unix を実行しているマシンの場合、アプリケーションログファイルのデフォルトパスは ~/.mysqlsh/mysqlsh.log です。ここで、~ はユーザーホームディレクトリを表します。 環境変数 HOME は、ユーザーホームディレクトリも表します。 ユーザーホームディレクトリに .mysqlsh を追加すると、ログへのデフォルトパスが決まります。

アプリケーションログファイルを別の場所に格納する場合は、環境変数 MYSQLSH_USER_CONFIG_HOME を定義することで、デフォルトのユーザー構成パスをオーバーライドできます。 この変数の値は、Unix 上の ~/.mysqlsh/に置き換わります。