EclipseLink和log4j:如何使用它们

时间:2011-11-01 17:41:25

标签: java log4j eclipselink

我正在使用Eclipselink JPA提供程序,并注意到它只在控制台中写入。 我配置了控制台和文件追加程序,但EclipseLink日志条目(例如SQL查询)仅出现在控制台日志中。 如何解决?

这是我的log4j配置:

log4j.rootLogger=ALL, FILE, CONSOLE

log4j.logger.uk.co.mycompany=DEBUG

log4j.logger.org.eclipse.persistence=ALL

log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.FILE.File=${catalina.base}/logs/application.log
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d{HH:mm:ss, SSS} %t [%p] %c{1} - %m%n

 # CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{HH:mm:ss,SSS} [%p] %m%ne

在persistence.xml中:

...
    <properties>
        <property name="eclipselink.logging.level" value="FINE"/>           
    </properties>

4 个答案:

答案 0 :(得分:4)

Eclipse Link默认不使用log4j。本页介绍了如何集成它:

http://wiki.eclipse.org/EclipseLink/Foundation/Logging

答案 1 :(得分:0)

答案 2 :(得分:0)

在将自己的处理程序添加到系统之前,请确保初始化EclipseLink日志记录工具(通过执行通常需要记录的操作)。我认为EclipseLink会覆盖根记录器设置,并可能会破坏您的配置。

答案 3 :(得分:0)

如果您在JBoss AS7上使用EclipseLink,我建议在下一页中 步骤5:配置EclipseLink日志记录(可选) ,了解如何正确记录日志:

https://community.jboss.org/wiki/HowToUseEclipseLinkWithAS7

简而言之,您需要:

  1. JBossLogger.java 文件添加到您的项目中(附在文章中)
  2. 向库 jboss-logging
  3. 添加依赖项
  4. persistence.xml 中设置属性 eclipselink.logging.logger