ログレベルとファイルの構成¶
Node.jsドライバーは、アクティビティを追跡するために2種類のロガーをサポートしています。
ブラウザー内のインメモリバッファにログを保存するブラウザーロガー。
ノードロガーは、デフォルトではログを
snowflake.log
ファイルに保存してコンソールに表示します。
次のコードを使用して、ブラウザーロガーからノードロガーに切り替えることができます。この例では、ノードロガーに切り替えて、コンソールにメッセージを送信します。
Logger.setInstance(new NodeLogger({ logFilePath: 'STDOUT'}));
サポートされているログレベル¶
Node.jsドライバーは、次のログレベルをサポートしています。
OFF
ERROR
WARNING
INFO
DEBUG
TRACE
デフォルトのログ動作の構成¶
次のように snowflake.configure
を呼び出すことで標準ログを構成できます。
const snowflake = require('snowflake-sdk');
snowflake.configure: {
logLevel: "INFO",
logFilePath: "/some/path/log_file.log"
additionalLogToConsole: false
}
条件:
logLevel
は希望する ログレベル です。logFilePath
はログファイル、またはコンソール出力のSTDOUT
の場所です。additionalLogToConsole
は、logFilePath
が指定されたときにログメッセージをコンソールにも送るかどうかを示すブール値です。デフォルト:true
。
コードのデバッグ中に簡単なログ記録を使用する¶
アプリケーションをデバッグするときにログレベルを上げると、アプリケーションの動作に関するより詳細な情報が得られます。簡単なログ機能を使用すると、構成ファイル(デフォルト: sf_client_config.json
)を使用してログレベルとログファイルの保存先を変更できるため、デバッグが簡単になります。
通常は、アプリケーションをデバッグするときにのみログレベルを変更します。
この構成ファイルは、 JSON を使用して、 log_level
と log_path
のログパラメーターを以下のように定義します。
{
"common": {
"log_level": "INFO",
"log_path": "/some-path/some-directory"
}
}
条件:
log_level
は希望する ログレベル です。log_path
はログファイルを保存する場所です。ドライバーは、指定されたlog_path
にnodejs
サブディレクトリを自動的に作成します。たとえば、log_path
を/Users/me/logs
に設定すると、ドライバーは/Users/me/logs/nodejs
ディレクトリを作成し、そこにログを保存します。
ドライバーは、以下の順序で構成ファイルの場所を検索します。
clientConfigFile
接続パラメーターには、次のような構成ファイルへの完全なパスが含まれます。const snowflake = require('snowflake-sdk'); var connection = snowflake.createConnection({ account: account, username: user, password: password, application: application, clientConfigFile: '/some/path/client_config.json' });
SF_CLIENT_CONFIG_FILE
環境変数。構成ファイルへの完全なパスが含まれます(例:export SF_CLIENT_CONFIG_FILE=/some_path/some-directory/client_config.json
)。Node.jsドライバーのインストールディレクトリ。ファイル名は
sf_client_config.json
にする必要があります。ユーザーのホームディレクトリ。ファイル名は
sf_client_config.json
にする必要があります。
注釈
セキュリティを強化するために、ドライバーはUnixスタイルのシステム上のログ設定ファイルでファイル権限を制限し、ファイル所有者のみがファイルを変更できるようにする必要があります(chmod 0600
または chmod 0644
など)。
構成ファイルの検索回数を最小限に抑えるために、ドライバーは次の場合にのみ構成ファイルを読み取ります。
最初の接続の場合。
clientConfigFile
パラメーターを使用して最初の接続に使用する場合。