我想在不使用maven的情况下将log使用slf4j + log4j添加到我的java项目中, 我把库(slf4j-api-1.6.1.jar + log4j-1.2.14.jar)放到我的类路径中,但是我的日志没有创建,我收到了这个错误
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
这是我的log4j.properties,
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\coreservice.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5 %c{1}:%L - %m%n
# Direct log message to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
# Root logger option
log4j.rootLogger=INFO, file, stdout
# Log everything. Good for troubleshooting
log4j.logger.org.hibernate=INFO
# Log all JDBC parameters
log4j.logger.org.hibernate.type=ALL
注意:我正在为这个项目使用eclipse juno,
任何帮助都会很愉快,
答案 0 :(得分:3)
http://www.slf4j.org/codes.html#StaticLoggerBinder说:
org.slf4j.impl.StaticLoggerBinder时会报告此错误 class无法加载到内存中。没有时会发生这种情况 可以在类路径上找到适当的SLF4J绑定。配售 一个(也是唯一一个)slf4j-nop.jar,slf4j-simple.jar, slf4j-log4j12.jar,slf4j-jdk14.jar或类中的logback-classic.jar 路径应该解决问题。 SINCE 1.6.0从SLF4J版本1.6开始,在 如果没有绑定,SLF4J将默认为无操作(NOP) 记录器实现。
我认为你错过了你的类路径中的slf4j-log4j-xxx.jar: Config SLF4J using library to use LOG4J configuration
如果您只需要使用slf4j进行日志记录,那么我更喜欢logback(http://logback.qos.ch/),因为它是SLF4J API的本机实现。根据slf4j网站,其他是“Wrapped implementation”。