【问题标题】:Creating My own logger implementation for camel route为骆驼路线创建我自己的记录器实现
【发布时间】:2015-04-06 14:03:34
【问题描述】:

有没有办法在骆驼中创建我自己的记录器实现,其中我定义了我自己的将消息记录到日志文件或数据库的逻辑来决定其信息或警告或错误或异常。简单的骆驼路线。

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

MyLogger 应该在路由中使用时自动调用...... 请帮我看看如何根据现有的框架如 slf4j、log4j、logback 等来定义 MyLogger??

【问题讨论】:

  • 我知道在 SQL 中使用日志文件可以更轻松地分析日志,但它会使您的解决方案变得脆弱。请记住 log4j 不是可靠的日志记录机制。将内容记录到文件时,您只需要担心驱动器是否可用以及驱动器上是否有可用空间。将错误记录到数据库需要可用的数据库服务器等。要担心的不仅仅是文件。这使您的解决方案更加脆弱。如果我可以提个建议。创建一个读取日志文件并将错误插入数据库的骆驼路由。
  • 只需使用官方(已弃用)org.apache.log4j.jdbc.JDBCAppender 或自己编写。

标签: logging log4j apache-camel slf4j logback


【解决方案1】:

是的,你可以,但我会建议你使用骆驼支持的 log4j 并使用你使用的容器提供的支持。

您可以使用接线模式,然后您可以在其中使用 db 组件进行数据库。对于文件,使用相同的窃听器,您可以在其中创建自己的有效负载,然后将文件端点用作生产者。

【讨论】:

  • 感谢您的信息。对不起,我是新手,你能举个例子吗?或者有什么教程可以参考??
  • 让我加你一个代码。但是您可以在需要 i 的地方发布一些代码,以便我可以适应那里的日志记录吗?
  • from("file://E:/​​/Target//Customers") .log("MyLogger",param1,param2..) .to("file://E:/​​/目标//客户//完成");上述骆驼路线包含 slf4j 框架的 .log 组件用法。现在我想知道如何创建一个我自己的 LoggerAppender 并在 log4j 属性中使用它。
猜你喜欢
  • 2011-05-24
  • 1970-01-01
  • 1970-01-01
  • 2015-06-12
  • 1970-01-01
  • 1970-01-01
  • 2018-09-05
  • 2015-09-27
  • 1970-01-01
相关资源
最近更新 更多