其他分享
首页 > 其他分享> > log4j

log4j

作者:互联网

log4j有3个主要的组件: 记录器, 输出器和布局.

记录器

记录器具有层次结构, 例如有这三个记录器, "com", "com.foo", "com.foo.bar", 那么"com"这个记录器是"com.foo"的父级记录器, "com.foo"是"com.foo.bar"的父级记录器, "com"是"com.foo.bar"的父级的父级记录器.

根记录器位于记录器层次结构的最顶端. 他总是存在的, 并且无法通过记录器名称来获得.

可以通过调用Logger.getRootLogger()来获取根记录器, 可以通过Logger.getLogger()来获取其他的记录器.

日志级别有这几个级别:TRACE, DEBUG, INFO, WARN, ERROR, FATAL.

记录器的级别继承, 如果子记录器没有指定日志级别, 会继承父记录器的日志级别.

如果使日志可用, 那么记录器的日志级别一定要高于输出器的日志级别, TRACE <  DEBUG < INFO < WARN < ERROR < FATAL.

输出器

log4j的输出器可以打印到多个地方, 也可以进行异步记录.

通过addAppender()方法将输出器添加到记录器中, 对于给定的记录器, 每个启用的日志记录都会转发到该记录器中所有的输出器以及层次结构中较高的输出器. 也就是说, 记录器会从父级记录器中继承输出器. 可以通过将additivity设置为false来禁用此行为.

布局

布局可以指定日志的显示格式,例如"%r [%t] %-5p %c - %m%n", 第一个参数表示应用启动后所经过的毫秒数, 第二个参数表示发出日志请求的线程, 第三个字段表示日志级别, 第四个字段表示记录器的名称, 第五个字段表示消息的内容, 第六表示换行.

https://blog.csdn.net/guoquanyou/article/details/5689652

遇到的问题

整合springboot时, 发现自定义的log4j.properties不起作用, 配置被覆盖了, 需要将springboot中的日志包排除掉.

https://blog.csdn.net/qq_26950567/article/details/80813672

标签:记录器,父级,级别,日志,foo,com,log4j
来源: https://blog.csdn.net/weixin_41648566/article/details/99548444