【问题标题】:Implementing slf4j logging in ear module在ear模块中实现slf4j日志
【发布时间】:2016-01-12 06:16:24
【问题描述】:

我想为单独的 ear 模块实现 slf4j 日志记录,JBoss 6.1 是 AS。到目前为止,我尝试过的如下 1.在我的库中添加以下jar

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

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    //Class declarations
    private static final Logger LOG=LoggerFactory.getLogger(VMAddAccountCommand.class);
    

这样,我将所有日志都保存到默认服务器日志中,如何配置它以将日志泵入单独的日志文件? 在 stackoverflow 上搜索,我找到了一些解决方案,根据这些解决方案我尝试在 ear 中创建 log4j.properties 文件,但日志仍然会转到相同的默认位置。

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

【问题讨论】:

    标签: java log4j slf4j ear


    【解决方案1】:

    创建 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
    

    在 File 中指定您的自定义路径并在您的主类中加载此属性文件。

    【讨论】:

    • 感谢 Anand 的回复,实际上耳朵里没有我可以加载属性文件的“主”类。我现在能想到的是最初加载的拦截器类。但是,我不确定从这个类加载配置是否会使配置对所有其他类可用。
    猜你喜欢
    • 2014-07-05
    • 1970-01-01
    • 1970-01-01
    • 2015-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-16
    相关资源
    最近更新 更多