JAVA日志的三种方案
2017-12-12 14:35
148 查看
第一种:commons-logging+Log4J
a.maven依赖
b.log4j配置
第二种:slf4j+Log4J
a.maven依赖
a.maven依赖
更详细的说明可以参考logback
c.代码使用
题外说明
1.slf4j使用了编译时绑定来代替运行时发现,而且其还提供占位符绑定等功能。
2.在spring中使用slf4j记得maven排除common-logging的依赖引用
a.maven依赖
<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency>
b.log4j配置
log4j.rootCategory=WARN, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %t %c{2}:%L - %m%n log4j.category.org.exam=DEBUG log4j.category.org.springframework.beans.factory=INFOc.代码使用
import org.apache.log4j.Logger; public class UserService { final Logger logger = Logger.getLogger(UserService.class); public boolean save(){ logger.error("虽然A喜欢我,但是我喜欢B"); return true; } }
第二种:slf4j+Log4J
a.maven依赖
<dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>1.7.7</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.7</version> </dependency>b.log4j配置
log4j.rootCategory=WARN, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %t %c{2}:%L - %m%n log4j.category.org.exam=DEBUG log4j.category.org.springframework.beans.factory=INFOc.代码使用
import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class UserService { final Logger logger = LoggerFactory.getLogger(UserService.class); public boolean save(){ logger.error("虽然{}喜欢我,但是我喜欢{}","A","B"); return true; } }第三种:slf4j+logback
a.maven依赖
<dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.1.3</version> </dependency>b.logback配置
<?xml version="1.0" encoding="UTF-8"?> <configuration> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{yy.MM.dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <logger name="org.exam" level="debug" /> <logger name="org.springframework.beans.factory" level="info" /> <root level="warn"> <appender-ref ref="console"/> </root> </configuration>
更详细的说明可以参考logback
c.代码使用
log4j.rootCategory=WARN, stdout log4j.appender.stdout=org.apache.log4j.Consol 4000 eAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %t %c{2}:%L - %m%n log4j.category.org.exam=DEBUG log4j.category.org.springframework.beans.factory=INFO
题外说明
1.slf4j使用了编译时绑定来代替运行时发现,而且其还提供占位符绑定等功能。
2.在spring中使用slf4j记得maven排除common-logging的依赖引用
相关文章推荐
- Java项目日志记录方案
- 自动装配、JavaConfig、XML 三种方案之间,怎么导入和混合配置?
- Java分布式锁的三种实现方案
- 三种方案实现日志记录功能
- java的日志方案分析
- Java日志方案概述
- java 项目日志管理设计方案
- 关于JAVA中HashMap集合的的三种超不好记的便利方案
- java实现qps控制(三种方案)
- Java分布式锁三种实现方案
- Java日志方案概述
- Java分布式锁三种实现方案
- 分布式锁的三种实现方式 / 分布式锁原理及实现方式 / 分布式锁1 Java常用技术方案
- Java中几种日志方案
- JAVA 应用程序内调用链跟踪简单实现方案(基于日志)
- Java日志方案概述
- Java分布式锁三种实现方案
- Java学习日志1.4 Scanner 数据输入的三种方法
- java项目实训方案
- java取小数点后两位(三种方法)