Mag*_*ick 1 java logging log4j apache-camel slf4j
我正在尝试在我的 Apache Camel 项目中进行日志记录。我已经尝试过以下方法:
VM args 在 Eclipse 中,我添加了以下 VM args: -Dlog4j.configuration=log4j-/resources/log4j.properties -Dlog4j.debug=true
类路径上的属性文件 我已仔细检查 log4j.properties 是否在类路径上
我的java看起来像这样:
Logger LOG = LoggerFactory.getLogger(CamelMain.class);
LOG.info("starting");
Run Code Online (Sandbox Code Playgroud)
我的 pom 包含以下内容:
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-core</artifactId>
<version>2.14.1</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-beanio</artifactId>
<version>2.14.1</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
任何想法为什么日志记录不起作用?
更新/解决方案
我需要添加以下内容:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
如果您想使用slf4joverlog4j并删除org.apache.logging.log4j和 的依赖项,请添加以下依赖项commons-logging。
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)