0

我正在为在 Glassfish V3.1 上运行的应用程序使用公共日志记录(我是 glassfish 的新手)。我在 ../domain1 文件夹(开发人员机器)下的 Glassfish 上运行了不同的应用程序。我正在使用 XML 来配置 Logging。以下是我的 xml 配置

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" >
<log4j:configuration>
    <appender name="file"
        class="org.apache.log4j.RollingFileAppender">
        <param name="maxFileSize" value="100KB" />
        <param name="maxBackupIndex" value="5" />
        <param name="File" value="/home/phanikumar/Desktop/debug.log" />
        <param name="threshold" value="debug"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                value="%d{DATE} %5p %c{1}:%L - %m%n" />
        </layout>
        <filter class="org.apache.log4j.varia.LevelRangeFilter">
            <param name="LevelMin" value="warn" />
            <param name="LevelMax" value="fatal" />
        </filter>

    </appender>
     <logger name="com">
        <level value="DEBUG" />     
        <appender-ref ref="file"/>
    </logger>

    <root>

        <appender-ref ref="file" />

    </root>
</log4j:configuration>

在此配置文件中,我已明确提到该文件位于特定位置,但从未提及。记录器文件有什么问题吗?我错过了什么吗?

或者

有什么方法可以将我的日志配置到特定位置?我已经看到了 server.log 文件,它不适合我的要求,因为所有应用程序的日志都记录在同一个文件中。

请帮助我。

4

1 回答 1

1

解决方案

在类路径中添加一个名为commons-logging.properties的属性文件。

并添加以下属性

org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger

这会将 Logging 初始化为 Log4j Logger

然后它完美地工作。

编辑:
通常,默认情况下,公共日志记录会搜索 log4j 之类的记录器。如果上述解决方案不起作用,则需要检查 commons-logging jar 文件是否损坏,即检查 org.apache.commons.logging.impl.Log4jLogger 等类文件是否存在。

于 2011-10-24T11:48:59.320 回答