Log4j 没有在我的骆驼路线中登录正确的文件夹
Log4j does not log in the right folder in my camel route
下面是我的log4j.xml放在MyProject/src/main/resources
我在其中使用 FileAppender 将日志重定向到 log.log
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration>
<appender name="FILE" class="org.apache.log4j.FileAppender">
<param name="file" value="D:/SHARED/log.log"/>
<param name="immediateFlush" value="true"/>
<param name="threshold" value="debug"/>
<param name="append" value="false"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="conversionPattern" value="%m%n"/>
</layout>
</appender>
<logger name="log4j.rootLogger" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="FILE"/>
</logger>
</log4j:configuration>
下面是我在pom.xml
中添加的依赖项,如下面link
http://camel.apache.org/how-do-i-use-log4j.html
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
下面是我的路线,它只是将文件从目录发送到 jms 队列
public void configure() throws Exception {
super.configure();
from("file://E://Target//Customers")
.transacted()
.log(LoggingLevel.INFO,"FolderToJMS","Sending File to JMS Queue")
.to("jmstx:queue:transaction-handler");
}
我已经在服务组合中部署了我的路线。完成所有这些后,我无法在 D:/SHARED 中找到日志文件。
我还需要做些什么吗...??
了解 ServiceMix/Karaf 使用的 pax-logging。您不能拥有自己的日志配置,但需要使用 pax-logging 进行配置。
您可以在 Karaf 网站上找到关于此的文档
下面是我的log4j.xml放在MyProject/src/main/resources
我在其中使用 FileAppender 将日志重定向到 log.log
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration>
<appender name="FILE" class="org.apache.log4j.FileAppender">
<param name="file" value="D:/SHARED/log.log"/>
<param name="immediateFlush" value="true"/>
<param name="threshold" value="debug"/>
<param name="append" value="false"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="conversionPattern" value="%m%n"/>
</layout>
</appender>
<logger name="log4j.rootLogger" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="FILE"/>
</logger>
</log4j:configuration>
下面是我在pom.xml
中添加的依赖项,如下面link
http://camel.apache.org/how-do-i-use-log4j.html
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
下面是我的路线,它只是将文件从目录发送到 jms 队列
public void configure() throws Exception {
super.configure();
from("file://E://Target//Customers")
.transacted()
.log(LoggingLevel.INFO,"FolderToJMS","Sending File to JMS Queue")
.to("jmstx:queue:transaction-handler");
}
我已经在服务组合中部署了我的路线。完成所有这些后,我无法在 D:/SHARED 中找到日志文件。
我还需要做些什么吗...??
了解 ServiceMix/Karaf 使用的 pax-logging。您不能拥有自己的日志配置,但需要使用 pax-logging 进行配置。
您可以在 Karaf 网站上找到关于此的文档