2015-04-06 2 views
0

Есть ли способ на верблюде создать мою собственную логическую реализацию, где in ill определить мою собственную логику регистрации сообщения в файл журнала или базу данных, определяющую его INFO или WARNING или ERROR или EXCEPTION. Простой маршрут верблюда.Создание моей собственной реализации логгера для верблюжьего маршрута

from("file://E://Target//Customers") 
.log("MyLogger",param1,param2..) 
.to("file://E://Target//Customers//Done"); 

MyLogger должен вызываться автоматически при использовании его в пути .... Пожалуйста, помогите мне Как определить MyLogger на основе существующих структур, таких как SLF4J, log4j, Logback и т.д. ??

+1

Я понимаю, что наличие файлов журналов в SQL упрощает анализ журналов, но делает ваше решение хрупким. Имейте в виду, что log4j не является надежным механизмом ведения журнала. При регистрации файлов в файл вам нужно только беспокоиться о том, что диск доступен, а пространство доступно на диске. Для регистрации ошибок в базе данных требуется доступ к серверу базы данных и т. Д. БОЛЬШЕ больше беспокоиться, чем просто файл. Это делает ваше решение более хрупким. Если я смогу сделать предложение. Создайте маршрут верблюда, который читает файлы журнала и вставляет ошибки в базу данных. – Namphibian

+1

Просто используйте официальный (и устаревший) 'org.apache.log4j.jdbc.JDBCAppender' или напишите свой собственный. –

ответ

0

Да, вы можете, но я предлагаю вам использовать log4j, который поддерживает верблюд, и использовать поддержку, предоставляемую используемым вами контейнером.

Вы можете использовать шаблон проводов, в котором вы можете использовать компонент db для базы данных. Для использования файла используется один и тот же провод, и внутри него вы можете создать свою собственную полезную нагрузку, а затем использовать конечную точку файла в качестве производителя.

+0

Спасибо за информацию. извините за то, что вы новичок, можете ли вы привести пример? или любой учебник для ссылки? –

+0

Позвольте мне добавить код. Но можете ли вы опубликовать код, в котором вы нуждаетесь, чтобы я мог поместиться в этом разделе? –

+0

from ("file: // E: // Target // Customers") .log ("MyLogger", param1, param2 ..) .to ("file: // E: // Target // Customers//Готово"); Вышеупомянутый маршрут верблюда содержит использование компонента .log для платформы slf4j. Теперь я хочу знать, как создать собственный LoggerAppender и использовать его в свойствах log4j. –

Смежные вопросы