Вход во внешний файл с использованием Apache Camel - PullRequest
0 голосов
/ 18 апреля 2020

У меня есть Camel Route, который использует CSV-файл, преобразует его в XML и передает данные в ActiveMQ topi c. Я просто хочу регистрировать сообщения с моего Верблюжьего маршрута, а также подробный журнал сообщений об обработке сообщения и т. Д. c.

Код:

public void configure() throws Exception {

    from("file:src/main/resources?fileName=data-sample.csv")
         .log("My first log message")                               
         .process(new MyTransformRevised1())
         .to("file:src/main/resources/?fileName=emp.xml")               
         .split(body().tokenizeXML("equityFeeds", null))
         .streaming()
         .to("jms:topic:reuters.inbound.Topic");
}

Добавление файла log4j.properties:

# Root logger option
log4j.rootLogger=INFO, file, console

log4j.logger.org.apache.camel=DEBUG

log4j.logger.camelprojectupdated.CSVToXMLTransformationRevised1=INFO, file

# camelprojectupdated.CSVToXMLTransformationRevised1 - fully qualified class name of my project. camelprojectupdated is my package name and CSVToXMLTransformationRevised1 is my class name.  

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=camel.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d | %p | %F %L | %m%n

# Direct log messages to stdout
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{HH:mm}| %p | %F %L | %m%n

Должно ли это быть log4j.properties или log4j2.properties? Также я должен иметь log4j или log4j2, например, для log4j2.appender.console вместо log4j.appender.console

Требования:

  1. Я хотел бы использовать slf4j и вывод журнала как в файл, так и на консоль.
  2. Где указать имя и местоположение файла журнала, ConsoleFileAppender и RollingFileAppender, et c.

Проблемы:

Я не могу видеть логи даже в консоли. Мой файл журнала не создается. Я поместил файл log4j.properties в папку классов. Нужно ли помещать файл log4j.jar в путь к классам, даже если я хочу использовать slf4j?

Это становится очень сложно.

1 Ответ

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

Вы можете загрузить файл свойств регистратора и настроить регистратор на использование (log4j).

public enum Logger {
INSTANCE;
public void initializeLogger() {
        PropertyConfigurator.configure(Logger.class.getResource("log4j.properties"));
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...