Как включить ведение журнала Apache POI с log4j - PullRequest
0 голосов
/ 09 октября 2018

Мне нужно включить регистрацию Apache POI для целей отладки, так как существует проблема с созданием файлов xlsx.Я прочитал документацию , и, кажется, это возможно, я также посмотрел здесь и попробовал пример, но я все еще не вижу никаких журналов от 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 в моем файле журнала?

1 Ответ

0 голосов
/ 09 октября 2018

решено:

Я создал новый регистратор и приложение для org.apache.poi в моем log4j.properties

#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..
...