我有RouteBuilder
路线,其中包括:
.log(LoggingLevel.DEBUG, "Unknown type on reporting queue")
对不起这个问题,但这会记录下来吗? hawtio证实它正在被执行。但它不在/var/log/tomcat/myproject.log
或var/log/tomcat/myproject/camel.log
文件中。我也没有在/var/log/messages
我在myproject.log
中看到从我的bean记录的消息,但.log(...)
谓词没有记录任何消息。
修改 经过一番挖掘后,我发现slf4j可以位于log4j之上。我找到了一个配置文件,并且能够通过在日志谓词中插入适当的标识符来写入我期望的日志:
.log(LoggingLevel.DEBUG, "com.mycompany.mything", "Unknown type on reporting queue")
com.mycompany.mything
在log4j文件中定义,以便写入所需的日志文件。
这不是一个非常精确的描述,但坦率地说,Java记录让我感到困惑。
答案 0 :(得分:2)
Camel使用slf4j:它不直接写入文件的日志,而是通过记录器,全局配置将其写入文件。这种配置不符合骆驼的责任。
找到记录器的策略是在LogDefinition类上实现的。
基本上:
因此,如果您没有在注册表中设置记录器,并且没有设置routeId,则记录器应该类似于" route-1"。日志级别用于:您的日志将处于调试级别(默认情况下,它可能不会打印)