O ActiveSupport mexeu no seu logger? Recupere a formatação original!
Recentemente estava escrevendo um script de manutenção utilizando o logger padrão do Ruby e tudo estava indo muito bem. A formatação padrão do logger oferece uma boa quantidade de informação, com timestamp, id do processo, nível da mensagem (erro, informação etc), como na imagem abaixo:
Pouco depois, resolvi utilizar o ActiveRecord (que carrega junto o ActiveSupport) no script. Feito isso, o output do logger mudou para:
Isso não é bom. Pesquisei um pouco e descobri que o ActiveSupport modifica a formatação padrão utilizando uma classe chamada SimpleFormatter ao invés da classe Formatter padrão do logger.
Desta forma, recuperar a formatação original é simples, basta modificar o formater utilizado pela sua instância do logger:
log = Logger.new(STDOUT) log.datetime_format = "%d-%m-%Y %H:%M:%S" # Recuperando a formatação original log.formatter = Logger::Formatter.new |
Também é possível alterar o formatter padrão na classe Logger. Dessa forma todas as instâncias utilizarão o formato padrão:
# Fazer isso após carregar o ActiveSupport para reverter a alteração do formatter class Logger def formatter @formatter = Formatter.new end end |
Nenhum comentário até agora