【问题标题】:Using log4j in oc4j 10.1.3在 oc4j 10.1.3 中使用 log4j
【发布时间】:2010-11-23 10:00:10
【问题描述】:

我有一个在 OC4J 10.1.3 上运行的 Web 应用程序。我正在尝试使用 log4j 进行一些日志记录。消息按预期显示在我的 IDE 控制台中,但在 OC4J 中的 application.log 中没有任何内容。有人知道我需要做什么才能让这个工作吗?

这是我的 log4j.properties:

log4j.rootCategory=DEBUG, CON1

# CON1 is set to be ConsoleAppender sending its output to System.out
log4j.appender.CON1=org.apache.log4j.ConsoleAppender
log4j.appender.CON1.layout=org.apache.log4j.PatternLayout
log4j.appender.CON1.layout.ConversionPattern=%p: [%l] - %m%n

log4j.logger.org.apache.ojb.broker.accesslayer=DEBUG

在我的 java 类中,我正在这样做:

Logger logger = Logger.getLogger(getClass().getName());
logger.debug("Test message.");

【问题讨论】:

  • 在我的项目源码树的根目录下,默认包。

标签: java logging jakarta-ee log4j oc4j


【解决方案1】:

我知道这是一个老问题,但我今天早些时候对此做了一些额外的研究。

事实证明,OC4J 包含一个OracleAppender for Log4j。这是 log4j.properties 中的示例配置:

log4j.appender.OJDL=oracle.core.ojdl.log4j.OracleAppender
log4j.appender.OJDL.LogDirectory=${oracle.j2ee.home}/log/oc4j
#log4j.appender.APP1.MaxSize=1000000
#log4j.appender.APP1.MaxSegmentSize=200000
#log4j.appender.APP1.Encoding=iso-8859-1
log4j.appender.OJDL.ComponentId=OracleProd

此配置将 log4j 消息定向到 ORACLE_HOME/j2ee/home/log/oc4j/log.xml 文件,LogViewer 读取该文件,然后在 Application Server Control 中显示为诊断日志。

然后可以将其添加为某个级别的记录器。例如,除了记录到控制台之外,还要将其添加到根记录器:

log4j.rootLogger=DEBUG, CON1, OJDL

注意:我不确定rootLoggerrootCategory 之间有什么区别。

注意 2:这显示在诊断日志中,而不是应用程序日志中。

【讨论】:

    【解决方案2】:

    The OC4J Developer's Guide states how log4j is to be used in OC4J.

    具体来说,log4.properties 应该放在 WEB-INF/classes 中,log4j 运行时 jar 可以找到它(通常放在 WEB-INF/lib 中)。将 log4j 工件放在 applib 目录中是不好的做法,应该避免。

    我不确定,但是如果 log4j 没有写入 application.log,那么你必须检查 ODL 日志的内容(ODL 配置的一些细节在Developer's Guide 中可用),如果 OC4J 是由 OPMN 管理,检查 opmn/logs 目录中的托管进程控制台日志也是一个好主意。

    【讨论】:

      【解决方案3】:

      配置 OC4J 以将控制台输出记录到文件中。
      如果您使用的是完整的 IAS,请将其添加到 opmn.xml

      <data id="oc4j-options" value="-verbosity 10 -err err.log -out out.log"/>
      

      如果您使用的是独立的 OC4j:

        java -jar oc4j.jar -err err.log -out out.log
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多