【问题标题】:how to enable apache POI logging with log4j如何使用 log4j 启​​用 apache POI 日志记录
【发布时间】:2019-03-14 04:50:04
【问题描述】:

我需要打开 apache POI 登录以进行调试,因为创建 xlsx 文件时出现问题。我阅读了documentation,这似乎是可能的,我还查看了here 并尝试了该示例,但我仍然没有看到来自apache POI 的任何日志。这是我的尝试:

log4j.properties

log4j.logger.com.my.package.service.MyClass=DEBUG, dailyReportAppender
log4j.additivity.com.my.package.service.MyClass=false

log4j.appender.dailyReportAppender=org.apache.log4j.RollingFileAppender
log4j.appender.dailyReportAppender.File=C:\\Testlogs/ReportTask.log
log4j.appender.dailyReportAppender.DatePattern=${roll.pattern.daily}'.log'
log4j.appender.dailyReportAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.dailyReportAppender.layout.ConversionPattern=%d{${datestamp}} %-5p %C:%L %m%n

MyClass.java

public class MyClass{
    protected static final Logger logger = Logger.getLogger(MyClass.class.getName());
    {
        System.setProperty("org.apache.poi.util.POILogger", "org.apache.poi.util.CommonsLogger" );
    }

    //things to do in this class
}

我还在我的pom.xml 文件中添加了以下依赖项:

<dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.2</version>
        <scope>runtime</scope>
</dependency>

我还需要做什么才能在我的日志文件中查看来自apache POI 的日志?

【问题讨论】:

    标签: java apache log4j apache-poi


    【解决方案1】:

    已解决:

    我在log4j.properties 中为org.apache.poi 创建了一个新的记录器和附加程序

    #apache logger for debug
    log4j.logger.org.apache.poi=DEBUG, apacheLogger //or any other log level such as ALL
    #log4j.additivity.org.apache.poi=false
    log4j.appender.apacheLogger=com.my.package.util.MyLog4jFileAppender //this is a custom appender I created but any other appender such as RollingFileAppender will also do
    log4j.appender.apacheLogger.File=C:\\Testlogs\\apacheLogs/apache.log
    log4j.appender.apacheLogger.DatePattern=${roll.pattern.daily}'.log'
    log4j.appender.apacheLogger.layout=org.apache.log4j.PatternLayout
    log4j.appender.apacheLogger.layout.ConversionPattern=%d{${datestamp}} %-5p %C:%L %m%n
    log4j.appender.apacheLogger.MaxBackupIndex=10
    

    所有其他配置都与我的问题一样,现在我可以看到来自apache POI的日志

    例子:

    2018-10-09/14:12:00.777/CEST DEBUG org.apache.poi.util.CommonsLogger:85 Save core properties part
    2018-10-09/14:12:00.777/CEST DEBUG org.apache.poi.util.CommonsLogger:85 Save package relationships
    //and many more..
    

    【讨论】:

      猜你喜欢
      • 2016-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多