Usando a biblioteca do criador de logs em Rubi é uma maneira fácil de acompanhar quando algo deu errado com seu código. Quando algo der errado, ter uma conta detalhada exatamente do que aconteceu antes do erro pode poupar horas na localização do bug. À medida que seus programas se tornam maiores e mais complexos, você pode adicionar uma maneira de escrever mensagens de log. O Ruby vem com várias ferramentas úteis Aulas e bibliotecas chamadas de biblioteca padrão. Entre elas, está a biblioteca de criadores de logs, que fornece logs priorizados e rotacionados.
Uso básico
Como a biblioteca de criadores de logs vem com Ruby, não há necessidade de instalar gemas ou outras bibliotecas. Para começar a usar a biblioteca do logger, basta exigir 'logger' e crie um novo objeto Logger. Quaisquer mensagens gravadas no objeto Logger serão gravadas no arquivo de log.
#! / usr / bin / env ruby
requer 'logger'
log = Logger.new ('log.txt')
log.debug "Arquivo de log criado"
Prioridades
Cada mensagem de log tem uma prioridade. Essas prioridades simplificam a busca de mensagens sérias nos arquivos de log e fazem com que o objeto do logger filtre automaticamente as mensagens menores quando não forem necessárias. Você pode pensar nisso como sua lista de tarefas do dia. Algumas coisas absolutamente devem ser feitas, outras realmente devem ser feitas, e algumas podem ser adiadas até que você tenha tempo para fazê-las.
No exemplo anterior, a prioridade era depurar, a menos importante de todas as prioridades (a "adie até que você tenha tempo" da sua lista de tarefas, se desejar). As prioridades da mensagem de log, do menos ao mais importante, são as seguintes: depuração, informações, aviso, erroe fatal. Para definir o nível de mensagens que o criador de logs deve ignorar, use o nível atributo.
#! / usr / bin / env ruby
requer 'logger'
log = Logger.new ('log.txt')
log.level = Logger:: WARN
log.debug "Isso será ignorado"
log.error "Isso não será ignorado"
Você pode criar quantas mensagens de log desejar e registrar todas as pequenas coisas que seu programa faz, o que torna as prioridades extremamente úteis. Ao executar seu programa, você pode deixar o nível do criador de logs em algo como aviso ou erro para capturar as coisas importantes. Então, quando algo der errado, você poderá diminuir o nível do criador de logs (no código-fonte ou com uma opção de linha de comando) para obter mais informações.
Rotação
A biblioteca do criador de logs também oferece suporte à rotação de logs. A rotação de logs evita que os logs fiquem muito grandes e ajuda na pesquisa de logs mais antigos. Quando a rotação do log é ativada e o log atinge um determinado tamanho ou uma certa idade, a biblioteca do criador de logs renomeia esse arquivo e cria um novo arquivo de log. Arquivos de log mais antigos também podem ser configurados para serem excluídos (ou "cair fora de rotação") após uma certa idade.
Para habilitar a rotação do log, passe 'mensal', 'semanal' ou 'diariamente' para o construtor Logger. Opcionalmente, você pode transmitir um tamanho máximo de arquivo e um número de arquivos para manter em rotação para o construtor.
#! / usr / bin / env ruby
requer 'logger'
log = Logger.new ('log.txt', 'diário')
log.debug "Depois que o log se tornar pelo menos um"
log.debug "com um dia, ele será renomeado e um"
log.debug "novo arquivo log.txt será criado."