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.loge 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 ouSTDOUTpara 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órionodejsnolog_pathespecificado. Por exemplo, se você definirlog_pathpara/Users/me/logs, os drivers criam o diretório/Users/me/logs/nodejse armazena os logs lá.
O driver procura a localização do arquivo de configuração na seguinte ordem:
Parâmetro de conexão
clientConfigFilecontendo 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_FILEcontendo 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.