Tem como logar classes de pacotes diferentes em um mesmo appender?
Exemplo:
A classe A e a classe B escrevem no arquivo de log a_b.log.
2 Logs para um appender
10 Respostas
Utilizando o log4j?
cê pode também utilizar um aspect para logar utilizando diferentes instâncias do seu logger, configurado uma para cada arquivo.
já fiz isso… tipo um log de debug (que tinha menos importância na fila) e outro de auditória (com importância máxima).
mas é meio trampa.

Da sim!
Só colocar no properties/xml.
mas aí utiliza dois appenders.
pelo que entendi ele quer somente um appender.
o que é meio estranho também. não sei se o commons logging faz isso, mas acho que o log4j não dá não, porque senão seria apenas colocar dois appenders e colocar cada pattern para um:
<appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="/var/xxx/logs/xxx.log" />
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<param name="Append" value="true" />
<param name="Encoding" value="UTF-8" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%-5p %d{dd/MM/yyyy HH:mm:ss.SSS} (%c{10}):%n %m%n%n" />
</layout>
</appender>
<!-- outro appender desse: FILE2 -->
<category name="org.apache">
<appender>FILE</appender>
<priority value="WARN" />
</category>
<category name="org.apache">
<appender>FILE2</appender>
<priority value="WARN" />
</category>
se não for assim, é parecido!
:D
Perae, vc quer dois appenders diferentes para um mesmo pacote…ou um appender para dois pacotes diferentes?
acho que dá os dois, né?
e no xml que fiz é appender-ref e não appender só.
Então, esse exemplo que vc passou não funciona?
funciona demais.
a diferença é que eu utilizei aspect depois… não me lembro como ficou de performance, etc…
Então tah blz hauioeae :lol:
Eu gostaria de poder logar duas classes diferente em um mesmo arquivo, sendo que estas classes estão em pacotes diferentes.
então é um appender de geração de log em arquivo só.
isso é possível.
aí é só cada category dos seus dois appenders que conterão as chamadas do log4j para gerar log apontarem para o appender que gera ou arquivo (como no meu último post). ou senão:
<root>
<priority value="INFO" />
<!-- <appender-ref ref="STDOUT" /> -->
<appender-ref ref="FILE" />
</root>
aí tudo que será gerado pelo log4j sairá pelo appender FILE uma vez que essa tag configura a saída raiz.
é isso?