配置日志级别和文件¶
Node.js 驱动程序支持通过两种类型的记录器来跟踪活动:
浏览器记录器,可将日志存储在浏览器的内存缓冲区中。
节点记录器,默认情况下将日志存储在
snowflake.log
文件中,并在控制台中显示。
您可以使用以下代码从浏览器记录器切换到节点记录器。此示例切换到了节点记录器,并向控制台发送消息。
Logger.setInstance(new NodeLogger({ filePath: 'STDOUT'}));
支持的日志级别¶
Node.js 驱动程序日志级别:
OFF
ERROR
WARNING
INFO
DEBUG
TRACE
配置默认日志记录行为¶
您可以通过调用 snowflake.configure
来配置标准日志记录,类似如下:
const snowflake = require('snowflake-sdk');
snowflake.configure: {
logLevel: "INFO",
filePath: "/some/path/log_file.log"
additionalLogToConsole: false
}
其中:
logLevel
是所需的 日志记录级别。filePath
是日志文件或STDOUT
的位置,用于控制台输出。additionalLogToConsole
是一个布尔值,表示在指定filePath
时是否也向控制台发送日志信息。默认:true
。
调试代码时使用 Easy Logging 功能¶
在调试应用程序时,提高日志级别可以提供更多有关应用程序正在执行的操作的详细信息。Easy Logging 功能可让您使用配置文件(默认值: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
参数为第一个连接读取配置文件。