로그 수준 및 파일 구성하기¶
Node.js 드라이버는 활동을 추적하기 위해 다음 두 가지 유형의 로거를 지원합니다.
브라우저 내의 메모리 내 버퍼에 로그를 저장하는 브라우저 로거.
기본적으로 로그를
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
.
코드를 디버깅하는 동안 간편한 로깅을 사용합니다¶
애플리케이션을 디버깅할 때 로그 수준을 높이면 애플리케이션이 수행하고 있는 작업에 대해 더욱 세부적인 정보를 제공할 수 있습니다. 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' });
구성 파일(예:
export SF_CLIENT_CONFIG_FILE=/some_path/some-directory/client_config.json
)의 전체 경로를 포함하는SF_CLIENT_CONFIG_FILE
환경 변수.파일 이름을
sf_client_config.json
으로 지정해야 하는 Node.js 드라이버 설치 디렉터리.파일 이름을
sf_client_config.json
으로 지정해야 하는 사용자의 홈 디렉터리.
참고
보안을 강화하기 위해 드라이버는 유닉스 스타일 시스템의 로깅 구성 파일에 파일 소유자만 파일을 수정할 수 있도록 파일 권한을 제한하도록 요구합니다(예: chmod 0600
또는 chmod 0644
).
구성 파일 검색 횟수를 최소화하기 위해 드라이버는 다음의 경우에만 구성 파일을 읽습니다.
첫 번째 연결의 경우.
clientConfigFile
매개 변수를 사용하는 첫 번째 연결의 경우.