Java日志框架——不同日志框架转换,日志记录请求的Level值不能一一映射
2015-08-16 09:51
519 查看
不同的日志框架中,日志记录请求的Level值的可取值范围不尽相同。比如常见的几个日志框架中,日志记录请求的Level值的可取值范围分别如下:
1)Java Logging API
FINEST < FINER < FINE < CONFIG < INFO < WARNING < SEVERE
2)Log4J
TRACE < DEBUG < INFO < WARN < ERROR < FATAL
3)SLF4J
trace < debug < info < warn < error
4)JCL
trace < debug < info < warn < error < fatal
当进行“JCL,Log4J,Java Logging API等到SLF4J(或者相反方向)”的转换时,很有可能发生“由于进行转换的两个日志框架的日志记录请求的Level值的可取值范围不同,而导致转换前后日志记录请求的Level值不能一一映射”的情况。
比如当进行“Java Logging API到SLF4J”的转换时,Java Logging API中的“FINEST”这个Level的日志记录请求就会丢失;当进行“JCL到SLF4J”的转换时,JCL中的“error和fatal”这两个Level的日志记录请求都会转换成SLF4J下的“error”这个Level的日志记录请求。
备注:
另外一个Level是日志记录类的Level。
同一个日志框架中,日志记录请求的Level值和日志记录类的Level值的可取值范围一般不同。
1)Java Logging API
FINEST < FINER < FINE < CONFIG < INFO < WARNING < SEVERE
2)Log4J
TRACE < DEBUG < INFO < WARN < ERROR < FATAL
3)SLF4J
trace < debug < info < warn < error
4)JCL
trace < debug < info < warn < error < fatal
当进行“JCL,Log4J,Java Logging API等到SLF4J(或者相反方向)”的转换时,很有可能发生“由于进行转换的两个日志框架的日志记录请求的Level值的可取值范围不同,而导致转换前后日志记录请求的Level值不能一一映射”的情况。
比如当进行“Java Logging API到SLF4J”的转换时,Java Logging API中的“FINEST”这个Level的日志记录请求就会丢失;当进行“JCL到SLF4J”的转换时,JCL中的“error和fatal”这两个Level的日志记录请求都会转换成SLF4J下的“error”这个Level的日志记录请求。
备注:
另外一个Level是日志记录类的Level。
import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class Main { public static void main(String[] args) { Logger logger = LoggerFactory.getLogger(Main.class); logger.info("hello world"); } }以上代码片段"logger.info("hello world");"中的“info”是日志记录请求的Level值。
<logger name="Main" level="debug" additivity="true"/>以上配置中的“debug”是日志记录类的Level值
同一个日志框架中,日志记录请求的Level值和日志记录类的Level值的可取值范围一般不同。
相关文章推荐
- Java中Scanner的nextInt(),next(),nextLine()方法总结
- 《Java设计模式》之合成模式
- java中int类型转化为String类型的几种方法
- 简述Java内存泄露
- 《Java设计模式》七大原则
- 《Java设计模式》之接口模式
- java工具类(七)实现给定任意年份和月份得出天数
- java工具类(七)实现给定任意年份和月份得出天数
- Java进阶(十四)实现每天定时对数据库的操作
- Java进阶(十四)实现每天定时对数据库的操作
- JAVA 注解的几大作用及使用方法详解
- Java进阶(十三)servlet监听器
- Java进阶(十三)servlet监听器
- Spring学习笔记-springMVC入门Demo
- Spring MVC 4 常用注解汇总
- Java 杭电ACM Train Problem I 1022
- Java 理论与实践: 正确使用 Volatile 变量
- 面向对象,Java泛型篇
- JAVA编程——static与final详解
- Java基础之反射