日志

2020-03-23  本文已影响0人  超音速6

记录应用系统日志主要有三个原因:记录操作轨迹、监控系统运行状况、回溯系统故障。

推荐日志文件至少保留15天

记录日志时一定请思考三个问题

  1. 日志是否有人看
  2. 看到这条日志能做什么
  3. 能不能提升问题排查效率

日志框架分为三大部分,包括日志门面、日志适配器、日志库。
目前用得最为广泛的日志门面有两种:slf4j和commons-logging
主流的日志库有三个,分别是你log4j、log-jdk、logback。

如果是新工程,则推荐使用slf4j+logback模式。因为logback自身实现了slf4j的接口,无需额外引入适配器,另外logback是log4j的升级版,具备比log4j更多的有点,可以通过如下配置进行集成:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.30</version>
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.2.3</version>
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-core</artifactId>
    <version>1.2.3</version>
</dependency>

至此我们的工程就完成了日志框架的继承,再加上一个日志配置文件(如logback.xml、log4j.xml等),并在工程启动时加载,然后就可以进行日志打印了,实例代码如下:

private static final Logger logger = LoggerFactory.getLogger(Abc.class);

注意:logger被定义为static变量,时因为这个logger与当前类绑定,避免每次都new一个新的对象,造成资源的浪费,甚至引发OutOfMemoryError问题。

上一篇 下一篇

猜你喜欢

热点阅读