Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logging Apache Camel Tracer |日志级别会影响记录的信息量吗_Logging_Routing_Apache Camel - Fatal编程技术网

Logging Apache Camel Tracer |日志级别会影响记录的信息量吗

Logging Apache Camel Tracer |日志级别会影响记录的信息量吗,logging,routing,apache-camel,Logging,Routing,Apache Camel,我正在探索使用示踪剂进行测井。它可以通过JMX控制台进行管理,因此即使开发人员在其路由中没有使用日志,也可以启用日志记录 我担心的是,无论日志级别设置如何,Tracer似乎都会输出相同数量的信息。是这个案子还是我遗漏了什么 我正在“路线生成器”中启用对路线的跟踪: getContext().setTracing(true); Date d = new Date(); from("file://c:/test?include=myTest.*.txt&noop=true").routeI

我正在探索使用示踪剂进行测井。它可以通过JMX控制台进行管理,因此即使开发人员在其路由中没有使用日志,也可以启用日志记录

我担心的是,无论日志级别设置如何,Tracer似乎都会输出相同数量的信息。是这个案子还是我遗漏了什么

我正在“路线生成器”中启用对路线的跟踪:

getContext().setTracing(true);
Date d = new Date();

from("file://c:/test?include=myTest.*.txt&noop=true").routeId("myFileTransfer")
.to("log:{body}") // LOG COMPONENT
.transform().simple("${body} at: " + d.toString())
.log("OUTPUT: ${body}") //LOG EIP
.to("file://c:/test_aa")
;
默认情况下,跟踪程序在信息级别输出日志。我使用JMX控制台将级别更改为ERROR。然而,日志似乎是相同的。日志输出如下所示:


  • [-1)线程#2-file://c:/test]Tracer INFO ID-KLT-IN-PMANCH2-49361-1398158837412-0-2>>>(myFileTransfer)from(file://c:/test?include=myTest.*.txt&noop=true)->日志://%7Bbody%7D>(myFileTransfer)日志://%7Bbody%7D-->转换[简单:${body}转换时间:2014年4月22日星期二14:57:17+05:30]>(myFileTransfer)转换[简单:${body}at:Tue Apr 22 14:57:17 GMT+05:30 2014]->日志[输出:${body}]>(myFileTransfer)日志[输出:${body}]->文件:${c:/test_aa>(myFileTransfer)来自(文件://c:/test include=myTest.*.txt&noop=true)->日志://%7Bbody%7D>(myFileTransfer)日志://%7Bbody%7D-->转换[简单:${body}at:Tue GMT 14:57:17+05]>(myFileTransfer)transform[Simple:${body}转换时间:星期二4月22日14:57:17 GMT+2014年05:30]->日志[OUTPUT:${body}]>(myFileTransfer)日志[OUTPUT:${body}]->文件:${body}测试(myFileTransfer)从(file://c://测试?include=myTest.*.txt&noop=true)->日志://%7Bbody%7D>(myFileTransfer)日志://%7Bbody%7D-->转换[Simple:${body}at:Tue Apr 22 14:57:17 GMT+05:30 2014]>(myFileTransfer)转换[Simple:${body}at:Tue Apr 22 14:57:17 GMT+05:30 2014]->日志[OUTPUT:${body}>(myFileTransfer)日志[OUTPUT:${body}]->文件:${body}->(myFileTransfer)来自(文件://c:/test test include=myTest.*.txt&noop=true)->日志://%7Bbody%7D>(myFileTransfer)日志://%7Bbody%7D-->转换[Simple:${body}at:Tue Apr 22 14:57:17 GMT+05:30 2014]>(myFileTransfer)转换[Simple:${body}at:Tue Apr 22 14:57:17 GMT+05:30 2014]->log[OUTPUT:${body}>(myFileTransfer)log[OUTPUT:${body}]-->file://c:/test_aa不应将跟踪程序中的日志与camel日志混淆。当日志级别为>=INFO时,它会开始输出信息。因此,即使您将日志级别从INFO增加到DEBUG,您也会看到跟踪程序中相同数量的日志

    关于您关于从JMX更改日志级别的问题,请重新启动camel上下文并检查camel tracer是否仍在继续记录日志

    作为替代方案,您可以覆盖默认的camel跟踪程序实现,并在camel上下文上进行设置

  • 控制日志记录的数量,因为默认值非常详细 可能会在生产日志中生成过多信息
  • 使用日志级别记录信息,以便您的其他用例 met。使用不同的日志级别来控制详细性

  • 感谢Hussain提供的输入。因此,据我所知,要对跟踪程序进行细粒度控制,需要对其进行自定义。是的,请查看其代码,它使用格式化程序类从当前交换中提取信息,并格式化日志中发出的输出。默认跟踪程序itsel可以轻松满足您的要求f&只有过度删除格式化程序才能完成此工作。