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

9.1 アプリケーションログ

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

  • MySQL Shell の起動時に--log-levelコマンドラインオプションを使用します。

  • MySQL Shell\optionコマンドを使用して、logLevelMySQL Shell 構成オプションを設定します。 このコマンドの使用手順については、セクション10.4「MySQL Shell オプションの構成」を参照してください。

  • shell.optionsオブジェクトを使用して、logLevelMySQL Shell 構成オプションを設定します。 この構成インタフェースの使用手順については、セクション10.4「MySQL Shell オプションの構成」を参照してください。

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

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

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

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

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

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

Unix ベースのシステムでは、ログエントリは、現在 MySQL Shell に設定されている出力形式でstderrに出力されます。 これは、--jsonコマンドラインオプションを使用して MySQL Shell を起動して JSON ラッピングがアクティブ化されていないかぎり、resultFormatMySQL 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/に置き換わります。