Configuração dos níveis de log e arquivos¶
O driver Node.js oferece suporte a dois tipos de registradores de log para rastrear atividades:
Registrador de log do navegador, que armazena logs em um buffer na memória do navegador.
Registrador de log do nó, que por padrão armazena logs em um arquivo
snowflake.log
e os exibe no console.
Você pode usar o código a seguir para alternar do registrador de log do navegador para o registrador de log do nó. Este exemplo alterna para o registrador de log de nós e envia mensagens para o console.
Logger.setInstance(new NodeLogger({ logFilePath: 'STDOUT'}));
Níveis de log suportados¶
O driver Node.js oferece suporte aos seguintes níveis de log:
OFF
ERROR
WARNING
INFO
DEBUG
TRACE
Configuração do comportamento de registro em log padrão¶
Você pode configurar o registro padrão chamando snowflake.configure
, semelhante ao seguinte:
const snowflake = require('snowflake-sdk');
snowflake.configure: {
logLevel: "INFO",
logFilePath: "/some/path/log_file.log"
additionalLogToConsole: false
}
onde:
logLevel
é o nível de registro em log desejado.logFilePath
é a localização do arquivo de log ouSTDOUT
para saída do console.additionalLogToConsole
é um valor booleano que indica se deve enviar mensagens de log também para o console quando umlogFilePath
é especificado. Padrão:true
.
Uso do registro de log fácil ao depurar seu código¶
Ao depurar um aplicativo, aumentar o nível de registro de log pode fornecer informações mais granulares sobre o que o aplicativo está fazendo. O recurso de registro de log fácil simplifica a depuração, permitindo que você altere o nível de registro e o destino do arquivo de registro usando um arquivo de configuração (padrão: sf_client_config.json
).
Normalmente, você altera os níveis de log somente ao depurar seu aplicativo.
Este arquivo de configuração usa JSON para definir os parâmetros de registro em log log_level
e log_path
, como segue:
{
"common": {
"log_level": "INFO",
"log_path": "/some-path/some-directory"
}
}
onde:
log_level
é o nível de registro em log desejado.log_path
é o local para armazenar os arquivos de log. O driver cria automaticamente um subdiretórionodejs
nolog_path
especificado. Por exemplo, se você definirlog_path
para/Users/me/logs
, os drivers criam o diretório/Users/me/logs/nodejs
e armazena os logs lá.
O driver procura a localização do arquivo de configuração na seguinte ordem:
Parâmetro de conexão
clientConfigFile
contendo o caminho completo para o arquivo de configuração, como o seguinte:const snowflake = require('snowflake-sdk'); var connection = snowflake.createConnection({ account: account, username: user, password: password, application: application, clientConfigFile: '/some/path/client_config.json' });
Variável de ambiente
SF_CLIENT_CONFIG_FILE
contendo o caminho completo para o arquivo de configuração (por exemplo,export SF_CLIENT_CONFIG_FILE=/some_path/some-directory/client_config.json
).Diretório de instalação do driver Node.js, onde o arquivo deve ser nomeado
sf_client_config.json
.Diretório inicial do usuário, onde o arquivo deve ser nomeado
sf_client_config.json
.
Nota
Para aumentar a segurança, o driver exige que o arquivo de configuração de registro em sistemas no estilo Unix limite as permissões de arquivo para permitir que somente o proprietário do arquivo modifique os arquivos (como chmod 0600
ou chmod 0644
).
Para minimizar o número de pesquisas por um arquivo de configuração, o driver lê apenas o arquivo de configuração:
para a primeira conexão.
para a primeira conexão usando o parâmetro
clientConfigFile
.