暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

日志系列第一篇-概述

方家小白 2019-10-28
175

java的日志

日志框架的体系图

日志

日志的分类

java
中我们使用的日志有 jdkLog
,Log4j
,Log4j2
,Logback
,slf4j
,commons Logging
, 其中 jdkLog
,Log4j
,Log4j2
,Logback
是日志框架的具体实现, slf4j
,commons Logging
是两种日志门面,可以结合日志框架的具体实现。下面介绍一下各自的优缺点,然后在后续的文章中介绍各自的使用以及运行原理。

JdkLog

产生自 jdk1.4
, 是 JDK
官方的日志实现。

该实现直接可以在 jdk
中使用,使用非常方便。但是功能过于简单,不支持占位符显示, 扩展性比较差。

Log4j

apache
公司的一个日志开源框架。

它设置了 日志 的级别,提供了(DEBUG
/INFO
/Warn
/ERROR
等)日志级别,可以将不同的日志分开打印。

但是不支持占位符,不利于代码的阅读。

Log4j2

也是apache
公司的日志框架, 是log4j
的升级版本. 需要注意的是, Log4j2
log4j
并不兼容。

Log4j2
的性能要比 Log4j
的性能好。log4j2
还有其他很多优点,比如它可以作为 审计日志, 还支持自定义级别等。具体的优点以及运行原理,见日志系列之 Log4j
.

Logback

LogBack
Log4j
都是一个作者所为。它很好的弥补了 log4j
的缺点。logback
重写了 log4j
的内部实现,性能提高了十倍,减少了内存消耗, 可以完美的与 Slf4j
结合。

两种日志门面

Slf4j

Simple logging face for java
: 简单的java
日志门面,以日志门面生成。和 log4j
是相同作者。

slf4j
本身只是提供日志门面,并没有提供日志的具体实现。

commons Logging

commons logging
是通过动态查找实现的一个日志门面,在程序运行时可以找到对应的日志实现类。

commons logging
内部实现了一个简单的 Logging
实现,但是功能及其简单。

区别与联系

log4j
log4j2

log4j
使用 .properties
文件进行配置。log4j2
使用 .xml
, .json
.jsn
来配置。具有良好的阅读性.

log4j
logback

  • logback
    在性能上要比 log4j
    好, 初始化加载内存也更小。
  • logback
    在配置文件修改后能够自动重新加载。
  • logback
    更自然的实现了slf4j日志门面。


文章转载自方家小白,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论