在Glassfish配置公共日志记录

问题描述:

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

<?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> 

在这个配置文件我已经明确提到的文件是在一个特定的位置,但它从来没有did.Is有与记录仪的任何问题文件?我错过了一些东西?

有没有办法,我可以配置我的日志是在一个特定位置的任何方式?我已经看到server.log文件,并且它不适合我的要求,因为所有应用程序的日志都记录在同一个文件中。

请帮助我。

+0

你检查了server.log的错误吗?尝试将文件位置更改为文件名并查看它是否显示..也许你有路径错误。 – Preston

+0

@Preston我检查了日志,但我没有发现任何错误 – Patton

SOLUTION

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

,并添加以下属性

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

这将初始化记录到的Log4j记录器

然后它完美地工作。

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