Реализация RollingFileAppender при миграции с Log4j на Log4j2 - PullRequest
0 голосов
/ 08 апреля 2020

Следующий метод некоторое время использовался, когда в системе, над которой я сейчас работаю, есть Log4j. Теперь, когда мы переходим от Log4j к Log4j2, у меня возникают проблемы с компиляцией.

private void initLogger(String logFile) {
    RollingFileAppender fileAppender = (RollingFileAppender) Logger.getRootLogger()
        .getAppender("FILE");

    if (logFile!=null && !"".equals(logFile)) {
        if (null != fileAppender) {
            fileAppender.setFile(logFile);
            fileAppender.activateOptions();
            fileAppender.setImmediateFlush(true);
        }
    } 
}

jar Log4j2: log4j-api-2.12.1.jar, log4j-core-2.12.1.jar

Может кто-нибудь предоставить, пожалуйста, помогите с тем, что может быть правильным подходом к бороться с вышеуказанным методом?

1 Ответ

0 голосов
/ 04 мая 2020

В моем случае я использую xml конфигурацию, как показано ниже

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
  <Appenders>
    <RollingFile name="RollingFile" fileName=".\logs\app.log"
                     filePattern=".\logs\$${date:yyyy-MM}\app-%d{MM-dd-yyyy}-%i.log.gz">
      <PatternLayout>
        <Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
      </PatternLayout>
      <Policies>
        <TimeBasedTriggeringPolicy />
        <SizeBasedTriggeringPolicy size="1 KB"/>
      </Policies>
      <DefaultRolloverStrategy max="20"/>
    </RollingFile>
  </Appenders>

  <Loggers>
    <Root level="all">
      <AppenderRef ref="RollingFile" />
    </Root>
  </Loggers>
</Configuration>

Если вы хотите использовать свойства, YAML, JSON без xml, чем следовать этому Ссылка и прочитайте шаги с 1 по 10 на Automatic Configuration

...