Java 在ear模块中实现slf4j日志记录

Java 在ear模块中实现slf4j日志记录,java,log4j,slf4j,ear,Java,Log4j,Slf4j,Ear,我想为一个单独的ear模块实现slf4j日志记录,JBoss 6.1是最新版本。到目前为止,我已经尝试了以下内容 1.在我的库中添加以下jar slf4j.api-1.6.1.jar slf4j-log4j12-1.6.1.jar log4j-1.2.16.jar 在所有的类中,都进行了如下类似的编码,以获得记录器: import org.slf4j.Logger; import org.slf4j.LoggerFactory; //Class declarations private sta

我想为一个单独的ear模块实现slf4j日志记录,JBoss 6.1是最新版本。到目前为止,我已经尝试了以下内容 1.在我的库中添加以下jar

slf4j.api-1.6.1.jar
slf4j-log4j12-1.6.1.jar
log4j-1.2.16.jar
  • 在所有的类中,都进行了如下类似的编码,以获得记录器:

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    //Class declarations
    private static final Logger LOG=LoggerFactory.getLogger(VMAddAccountCommand.class);
    
  • 这样,我就可以将所有日志都保存到默认的服务器日志中,如何将其配置为将日志压缩到单独的日志文件中? 在stackoverflow上搜索,我找到了一些解决方案,根据这些解决方案,我尝试在ear中创建log4j.properties文件,但日志仍将位于相同的默认位置


    因此,简而言之,我想要实现的是使用现有设置(即slf4j与log4j绑定)将日志从我的ear模块泵送到一个单独的日志文件中。如果我在这里遗漏了什么,请告诉我。

    创建log4j属性文件,如下所示:

    # Root logger option
    log4j.rootLogger=INFO, file
    #log4j.rootLogger=DEBUG,console,file
    
    # Direct log messages to a log file
    log4j.appender.file=org.apache.log4j.RollingFileAppender
    log4j.appender.file.File=log/abc.log
    log4j.appender.file.MaxFileSize=50MB
    log4j.appender.file.MaxBackupIndex=1
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
    

    在文件中指定自定义路径并将此属性文件加载到主类中。

    谢谢Anand的回复,实际上ear中没有可以加载属性文件的“主”类。我现在能想到的是最初加载的拦截器类。但是,我不确定从这个类加载配置是否会使配置对所有其他类都可用。