Запись в файл с использованием PeriodicRotatingFileHandler - PullRequest
0 голосов
/ 17 апреля 2019

Я хотел бы записать в файлы с помощью обработчика, который я определил в моем standalone.xml (JBoss7)

<custom-handler name="HierarchicalPeriodicRotatingFileHandler" class="com.logging.HierarchicalPeriodicRotatingFileHandler" 

Когда происходит событие, вызывается метод публикации этого обработчика:

public void publish(LogRecord record){
    String name = record.getLoggerName();
    PeriodicRotatingFileHandler appender = map.get(name);
    try {
      if( appender == null) {
          appender = new PeriodicRotatingFileHandler(
                "/opt/jboss/wildfly/standalone/log/the-file-name.txt"
                ,true); //append = true
          map.put(name, appender);
      }
      appender.publish(record);
    }
    catch

Однако файл не создается. Даже когда я создаю файл, ничего не пишется

Есть идеи?

1 Ответ

0 голосов
/ 19 апреля 2019

Хорошо, Лют, вот оно.
Во-первых, убедитесь, что ваши зависимости находятся прямо в вашем файле module.xml:

<dependencies>
    <module name="org.jboss.logging"/>
    <module name="javax.api"/>
    <!-- Make sure that PeriodicRotatingFileHandler class is loaded properly -->
    <module name="org.jboss.logmanager"/> 
</dependencies>

Затем используйте setFormatter вместо публикации для записи в файл

appender.setFormatter(new Formatter() {
              @Override
              public String format(LogRecord r) {
                    return "The string goes here";
              }
);
...