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'}));
Copy

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
}
Copy

onde:

  • logLevel é o nível de registro em log desejado.

  • logFilePath é a localização do arquivo de log ou STDOUT para saída do console.

  • additionalLogToConsole é um valor booleano que indica se deve enviar mensagens de log também para o console quando um logFilePath é 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"
  }
}
Copy

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ório nodejs no log_path especificado. Por exemplo, se você definir log_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'
    });
    
    Copy
  • 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.