为什么slf4j+log4j能打印日志到控制台,但是不能打印到指定文件
2016-10-13 12:34
405 查看
slf4j提供一个接口,它可以有很多具体实现,如common-logging,log4j,logback等等,如果项目依赖的jar包很多,这时就要排除掉多余的jar包,只能指定一个具体的实现
比如项目中依赖milo这个包
<dependency>
<groupId>org.eclipse.milo</groupId>
<artifactId>client-examples</artifactId>
<version>0.1.0-SNAPSHOT</version>
</dependency>
但是milo中的日志是用logback实现的,而我的项目是用log4j实现的,这时候运行项目,发现控制台提示
Class path contains multiple SLF4J bindings.
但是日志信息能正常输出到控制台,唯独日志文件没有任何信息
解决办法就是,将logback排除依赖
<dependency>
<groupId>org.eclipse.milo</groupId>
<artifactId>client-examples</artifactId>
<version>0.1.0-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
</exclusions>
</dependency>
这样日志文件就能正常输出了
比如项目中依赖milo这个包
<dependency>
<groupId>org.eclipse.milo</groupId>
<artifactId>client-examples</artifactId>
<version>0.1.0-SNAPSHOT</version>
</dependency>
但是milo中的日志是用logback实现的,而我的项目是用log4j实现的,这时候运行项目,发现控制台提示
Class path contains multiple SLF4J bindings.
但是日志信息能正常输出到控制台,唯独日志文件没有任何信息
解决办法就是,将logback排除依赖
<dependency>
<groupId>org.eclipse.milo</groupId>
<artifactId>client-examples</artifactId>
<version>0.1.0-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
</exclusions>
</dependency>
这样日志文件就能正常输出了
相关文章推荐
- 配置tomcat将控制台日志输出到指定文件
- java web 项目log 配置 (将log 和hibernate的hql/sql 信息打印到控制台和日志文件中)
- 日志打印longging模块(控制台和文件同时输出)
- TOMCAT控制台日志输出到指定文件中
- sl4j日志可在本地写入控制台和文件,在服务器不能写入文件
- 为什么头文件顺序不能乱写?为什么在win32控制台应用程序中不能使用CString?
- Tomcat控制台日志输出到指定文件中
- iphone2.0 如何打印日志到指定文件
- 配置了log4j.properties文件,但是日志不打印
- TOMCAT控制台日志(startup.bat)输出到指定文件中
- 命令行运行java程序,将控制台日志保存到指定文件
- LOG4J 将debug等日志文件信息同时打印到控制台
- 读取一个指定的*.Java文件,并打印在控制台上
- Shell执行将脚本里的变量打印到指定日志文件
- TOMCAT控制台日志输出到指定文件中
- Weblogic分离控制台信息到指定日志文件中
- log4j各项配置都正确,却不能在控制台打印日志
- 关于log4j的配置,控制台打印和错误信息输出到指定文件
- 利用slf4j+log4j将日志写入指定的文件中
- tomcat配置log4j打印输出日志到指定文件