переключиться с log4j на logback - PullRequest
5 голосов
/ 06 января 2010

У меня есть этот код с log4j, я не использую никакие файлы конфигурации

static Logger logger = Logger.getLogger(Application.class);

...

Appender ap = new NTEventLogAppender();

SimpleLayout layout = new SimpleLayout();
Appender fp = null;
try {
    fp = new FileAppender(layout, "output.txt");
} catch (IOException e) {           
    e.printStackTrace();
}

logger.addAppender(ap);
logger.addAppender(fp);

logger.info("info");

Может кто-нибудь показать мне, как я могу сделать то же самое с logback

1 Ответ

6 голосов
/ 06 января 2010

Почему вы не используете файлы конфигурации? Это потому, что вы меняете конфигурацию ведения журнала во время выполнения?

Если у вас нет особых причин для этого, настройка инфраструктуры ведения журналов с использованием файлов конфигурации кажется мне более разумной.

Если вы используете файлы конфигурации, ваша конфигурация может выглядеть примерно так:

<configuration>
  <appender name="FILE" class="ch.qos.logback.core.FileAppender">
    <file>output.txt</file>
    <layout class="ch.qos.logback.classic.PatternLayout">
      <Pattern>%level - %msg%n</Pattern>
    </layout>
  </appender>

  <root level="debug">
    <appender-ref ref="FILE" />
  </root>
</configuration>

Для NTEventLogAppender, насколько мне известно, он не существует для входа в систему. Но перенос приложения из log4j в logback - довольно простая задача, поэтому вы можете создать своего собственного приложения.

Если вам нужно настроить приложение автоматически, обратитесь к документации logback и примеры : там вы можете найти некоторые идеи.

Надеюсь, это поможет ...

...