Log4j是Apache的一个Java的日志库,通过使用Log4j,我们可以控制日志信息输送的目的地(控制台、文件、数据库等);我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。
Logback,一个“可靠、通用、快速而又灵活的Java日志框架”。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个改良版本。此外logback-classic完整实现SLF4J API使你可以很方便地更换成其它日志系统,如log4j或JDK14 Logging。logback-access模块与Servlet容器(如Tomcat和Jetty)集成,以提供HTTP访问日志功能。请注意,您可以在logback-core之上轻松构建自己的模块。
Apache Log4j 2是对Log4j的升级,它比其前身Log4j 1.x提供了重大改进,并提供了Logback中可用的许多改进,同时修复了Logback架构中的一些问题。
现在最优秀的Java日志框架是Log4j2,没有之一。根据官方的测试表明,在多线程环境下,Log4j2的异步日志表现更加优秀。在异步日志中,Log4j2使用独立的线程去执行I/O操作,可以极大地提升应用程序的性能。
Apache Log4j2详解
在官方的测试中,
Log4j1/Logback/Log4j2
三个日志框架的异步日志性能比较如下图所示。
其中,
Loggers all async
是基于
LMAX Disruptor
实现的。可见Log4j2的异步日志性能是最棒的。
下图比较了Log4j2框架
Sync
、
Async Appenders
和
Loggers all async
三者的性能。其中
Loggers all async
表现最为出色,而且线程数越多,
Loggers all async
性能越好。
上述介绍的是一些日志框架的实现(Log4j、Logback、log4j2),这里我们需要用日志门面来解决系统与日志实现框架的耦合性。SLF4J,即简单日志门面(Simple Logging Facade for Java),它不是一个真正的日志实现,而是一个抽象层( abstraction layer),它允许你在后台使用任意一个日志实现。
前面介绍的几种日志框架一样,每一种日志框架都有自己单独的API,要使用对应的框架就要使用其对应的API,这就大大的增加应用程序代码对于日志框架的耦合性。
使用了SLF4J后,对于应用程序来说,无论底层的日志框架如何变,应用程序不需要修改任意一行代码,就可以直接上线了。
Logback
算是JAVA 里一个老牌的
日志
框架
,从06年开始第一个版本,迭代至今也十几年了。不过
logback
最近一个稳定版本还停留在 2017 年,好几年都没有更新;
logback
的兄弟
slf4j
最近一个稳定版也是2017年,有点凉凉的意思。而且
logback
的异步
性能
实在拉跨,功能简陋,配置又繁琐,远不及Ap
ac
he 的新一代
日志
框架
-
Log4j2
目前来看,
Log4j2
就是王者...
浏览器打开
划分为3个模块:
logback
-core,
logback
-classic,
logback
-
ac
cess
logback
-core是其他两个模块的基础.
logback
-classic模块可以看作是
log4j
的升级版.提供了
SLF4J
API, 以便轻易在在其他
日志
框架
间切换.
logback
-
ac
cess整合了servlet容器,如tom...
浏览器打开
dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)
hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作
cat /proc/cpuinfo 显示CPU in...
浏览器打开
一、
Slf4j
slf4j
(Simple
Log
ging F
ac
ade for Java)是
日志
框架
的一种抽象,那么也就是说
slf4j
是不能单独使用的必须要有其他实现
日志
框架
来配合使用,并且如果要启用
slf4j
框架
要导入
slf4j
-api-xxx.jar 这个包, 这个包是
slf4j
实现各种支持的
日志
框架
的包。如
log4j
、
log4j2
、
logback
等。
import org.
slf4j
.
Log
ger;
import org.
slf4j
.
Log
gerF
ac
tory;
浏览器打开
Log4j
是Ap
ac
he的一个开放源代码项目,通过使用
Log4j
,我们可以控制
日志
信息输送的目的地是控制台、文件、数据库等;我们也可以控制每一条
日志
的输出格式;通过定义每一条
日志
信息的级别,我们能够更加细致地控制
日志
的生成过程。
Log4j
有7种不同的
log
级别
浏览器打开
1、以下有关?Spring
框架
优点的说法正确的是()。
A、Spring!具有简单、可测试和松耦合等特点,从这个角度出发,spring就是应用于任何ava应用的开发中;
B、Spring提供了对AOP的支持,它允许将一些通用任务,如安全、事务、
日志
等进行集中式处理,从而提高了程
序的复用性
C、spring就是个大工厂,可以将所有对象的创建和依赖关系的维护工作都交给?Spring容器管理,...
浏览器打开
在说sprin
gb
oot默认的
日志
框架
之前,先说下目前市面上的一些
日志
框架
市面上的
日志
框架
:JUL、JCL、Jboss-
log
ging、
logback
、
log4j
、
log4j2
、
slf4j
...
JCL(Jakarta Commons
Log
ging) :spring 底层所使用的
日志
框架
JUL(java.util.
lo
...
浏览器打开