Mudar de log4j para logback
Pergunta
Eu tenho esse código com log4j, não uso nenhum tipo de arquivos de configuração
static Logger logger = Logger.getLogger(Application.class);
...
Appender ap = new NTEventLogAppender();
SimpleLayout layout = new SimpleLayout();
Appender fp = null;
try {
fp = new FileAppender(layout, "output.txt");
} catch (IOException e) {
e.printStackTrace();
}
logger.addAppender(ap);
logger.addAppender(fp);
logger.info("info");
Alguém pode me mostrar como posso fazer a mesma coisa com logback
Solução
Por que você não usa arquivos de configuração? É porque você altera a configuração de log em tempo de execução?
A menos que você tenha um motivo muito específico para fazê -lo, a configuração da sua estrutura de registro usando arquivos de configuração parece mais razoável para mim.
Se você usar arquivos de configuração, sua configuração pode ser algo nesse sentido:
<configuration>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>output.txt</file>
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%level - %msg%n</Pattern>
</layout>
</appender>
<root level="debug">
<appender-ref ref="FILE" />
</root>
</configuration>
Para o NTEVENTLOGAPPENDE, até onde eu sei, ele não existe para logback. Mas portar um Appender de Log4J para Logback é uma tarefa bastante fácil, para que você possa criar seu próprio Appender.
Se você precisar configurar o Appender programaticamente, verifique o documentação de logback e exemplos: Você pode encontrar algumas idéias por lá.
Espero que isto ajude...