如何配置slf4j能够写入控制台和文件?

时间:2013-02-20 13:22:16

标签: java logging slf4j

目前我正在使用log4j,但许多Java技术使用slf4j(例如hibernate)。 我想配置log4j而不是slf4j。这是我的log4j文件:

log4j.rootLogger=trace, stdout, file

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.encoding=UTF-8
log4j.appender.stdout.target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.conversionPattern=%d{ABSOLUTE} %5p %t %c{1}:%M:%L - %m%n

log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.encoding=UTF-8
log4j.appender.file.append=false
log4j.appender.file.file=myproject.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.conversionPattern=%d{ABSOLUTE} %5p %t %c{1}:%M:%L - %m%n

有人能告诉我一个适合它的配置文件吗? 附:如何从Servlet登录?因为他们在tomcat webapps的战争中。 在这种情况下,他们在哪里写日志?

1 个答案:

答案 0 :(得分:5)

slf4j是java的日志记录,可以与不同的日志框架(如log4j,logback等)一起使用。它提供的优势是你可以在不触及代码的情况下更改底层框架(只是jar和配置文件)将来切换到另一个。

在log4j上使用slf4j你仍然需要log4j属性和一些jar等  SLF4J-API-1.6.1.jar,  slf4j-log4j12-1.6.1.jar和  log4j-1.2.16.jar(假设你已经有了这个)

参考此tutorial。希望它有所帮助。