Como o aplicativo Unix deve registrar grandes quantidades de dados?

1

Estou preocupado que meu aplicativo possa produzir grandes quantidades de logs para alguns usuários.

  • O que devo levar em consideração para que a usabilidade não seja prejudicada (suporte a rolagem, etc.)?
  • Existe uma maneira padrão para um aplicativo consultar a configuração do nível de registro (para que nenhum recurso seja desperdiçado para gravar no logger desativado)?
por sevo 11.11.2014 / 15:04

1 resposta

0

Se você for produzir uma quantidade enorme de dados em qualquer prioridade diferente de debug , é melhor que sua configuração padrão registre em um arquivo em vez de nos logs do sistema ou, no mínimo, ofereça essa possibilidade . Se esses logs estiverem depurando logs, eles devem estar desativados por padrão e impressos somente se o seu aplicativo for chamado com uma opção (na linha de comando ou em um arquivo de configuração) para informar a impressão de logs de depuração.

Se é óbvio, a partir do propósito do seu aplicativo, que ele produzirá muitos logs, tudo bem.

Você não pode consultar com confiança a configuração do nível de registro no lado do aplicativo. Alguns sistemas registram remotamente, por exemplo; então a configuração estaria em outra máquina. Mesmo se estiver na mesma máquina, um usuário não raiz pode não ter permissão para ler a configuração de registro. Se o seu aplicativo puder ser configurado para produzir quantidades razoáveis ou enormes de logs, cabe à configuração do aplicativo determinar isso.

Se você efetuar o log pelo recurso de syslog, não será necessário fazer nada para dar suporte à rotação de log. Se você efetuar login em um arquivo, precisará fornecer um meio para o aplicativo fechar e reabrir seu arquivo de log. Você pode usar SIGUSR1 ou SIGUSR2 para isso, ou mesmo SIGHUP se você não usá-lo como um sinal de terminação (para daemons, ou seja, programas que não são executados a partir de um terminal, SIGHUP normalmente significa “recarregar sua configuração”, que pode incluir reabrindo um arquivo de log). O programa de rotação de log primeiro moverá o log para um nome diferente e, em seguida, enviará o sinal para informar ao seu aplicativo para criar um novo arquivo de log.

    
por 12.11.2014 / 04:49

Tags