我使用的是Camel和Log4J,在我的路由中,我使用的是这样的日志消息
<log message="This is a test" loggingLevel="TRACE" logName="com.acme.logfile1"/>
我的目标是,根据特定的标准,将消息记录到我在log4j中定义的不同记录器。属性。
如果我用不同的日志名硬编码,我的消息会转到相应的文件
<log message="This is a test" loggingLevel="TRACE" logName="com.acme.logfile1"/>
转到日志文件1
<log message="This is a test" loggingLevel="TRACE" logName="com.acme.logfile2"/>
转到日志文件2
我想使用一个名为“logfile”的头值来确定要写入哪个日志文件,并尝试了这个方法,但它似乎不起作用
<log message="This is a test for com.acme.${in.headers.logfile}" loggingLevel="TRACE" logName="com.acme.${in.headers.logfile}"/>
我知道我的头设置正确,就好像我这样做了一样,我在日志文件1中看到了适当的值(假设${in.headers.logfile}=foobar)
<log message="This is a test for com.acme.${in.headers.logfile}" loggingLevel="TRACE" logName="com.acme.logfile1"/>
我在日志文件1中看到“这是对com.acme.foobar的测试”
那么,有没有一种方法可以动态地将日志定向到我路由中的不同记录器?