log4j: registra a saída de uma classe específica para um appender específico
161
Eu uso o log4j e gostaria de rotear a saída de determinados registradores para arquivos específicos.
Eu já tenho vários anexadores no lugar. Agora, para facilitar a depuração, quero dizer ao log4j que a saída gerada por uma classe específica (por exemplo, foo.bar.Baz) deve ser gravada em um arquivo de log específico.
ahh - simples assim! Obrigado! A configuração log4j.additivity.foo.bar.Baz = false impõe que a saída do Baz não apareça no appender do rootLogger?
Gubrutz
3
qual é a versão do log4J? Estou tentando encontrar a configuração xml para fazer a mesma coisa para a versão 1.2.17 do log4j
AC
1
@RodrigoGurgel sim, nada de anormal lá
Maurice Perry
4
@dwjohnston definir aditividade como false impedirá que o criador de logs faça logon nos anexos de seus ancestrais (é verdade por padrão). Nesse caso, se a aditividade tivesse sido deixada como verdadeira, o logon no aplicativo do Baz teria gravado nos dois arquivos.
Maurice Perry
1
alguma opinião sobre a configuração xml?
Igor Donin
21
Aqui está uma resposta sobre a configuração XML, observe que, se você não der um apelido ao arquivo, ConversionPatternele criará um arquivo de 0 byte e não gravará nada:
Aqui está uma resposta sobre a configuração XML, observe que, se você não der um apelido ao arquivo,
ConversionPattern
ele criará um arquivo de 0 byte e não gravará nada:fonte
<appender-ref ref="bdfile"/>
do<root>
- caso contrário, você também verá todo o seu log copiado para esse arquivo.<logger>...
elemento. Especifique a classe ou pacote como o nome e o appender como o appender de arquivo.