【问题标题】:How to use slf4j + log4j in hibernate (Java Project) without using maven如何在不使用 maven 的情况下在休眠(Java 项目)中使用 slf4j + log4j
【发布时间】:2013-10-17 05:20:09
【问题描述】:

我想在不使用 maven 的情况下将 log use 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,

任何帮助都会很高兴,

【问题讨论】:

    标签: java eclipse hibernate


    【解决方案1】:

    http://www.slf4j.org/codes.html#StaticLoggerBinder 说:

    org.slf4j.impl.StaticLoggerBinder时报此错误 类无法加载到内存中。这发生在没有 可以在类路径上找到适当的 SLF4J 绑定。配售 一个(也是唯一一个)slf4j-nop.jar、slf4j-simple.jar、 类上的 slf4j-log4j12.jar、slf4j-jdk14.jar 或 logback-classic.jar 路径应该可以解决问题。自 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 网站,其他的是“包装实现”。

    【讨论】:

    • 对我仍然不起作用 :(,我已将 slf4j-api-1.6.1.jar、slf4j-log4j12-1.6.1.jar 和 log4j-1.2.16.jar 添加到我的类路径中,并且我的日志仍然没有创建...我错过了什么??
    • 当我添加 slf4j-api-1.7.5.jar 和 slf4j-simple-1.7.5.jar 时,这个错误消失了……但是我的日志仍然没有创建,知道吗??
    • 嗨@aumand,错误消失了,程序现在可以创建日志文件了......但是我可以插入一些目录来保存我的日志文件所在的位置吗?因为它只是可以在projet文件夹中创建日志文件~
    • 我认为您可以在属性中指定文件名(就像您在最初的帖子中所做的那样):log4j.appender.file.File=C:\\coreservice.log
    • 是的,我现在可以将我的日志文件保存到不同的目录中......这段代码不起作用C:\\coreservice.log,然后我更改为C:\\Log\\coreservice.log,一切正常,谢谢@aumand :)
    猜你喜欢
    • 2014-03-08
    • 2020-12-05
    • 2022-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    • 1970-01-01
    相关资源
    最近更新 更多