Log4j入门使用(什么是日志? 为什么要使用1og4j)

发布时间 2023-11-18 10:05:38作者: 手牵手过马路

@

?什么是日志

日志是记录系统运行过程中各种重要信息的文件,在系统运行过程中由各进程创建并记录。

日志的作用是记录系统的运行过程及异常信息,为快速定位系统运行中出现的问题及开发过程中的程序调试问题提供详细信息。

? 日志处理机制

自动记录机制

日志的记录由系统自动完成。如果日志被手工删除,系统会重新创建日志。

自动备份机制

日志大小有一定的限制,当日志大小超过规定值时,系统会自动备份日志。

备份日志时一般遵循如下规则:

一般情况下不应手工删除日志,只有对日志备份后,才可以手工删除日志。日志删除后,相应的进程重启后系统会重新创建日志。
对于重要的日志,应定期手工将其备份到磁带。
对于一般的日志,在需要时备份。备份时,先将日志复制到备份目录,再将日志压缩打包,备份到磁带。

?log4j作用

Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程.

?log4j的优点

(1) 通过修改配置文件,就可以决定log信息的目的地——控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等。

(2) 通过修改配置文件 , 可以定义每一条日志信息的级别 , 从而控制是否输出 , 在系统开发阶段可以打印详细的log信息以跟踪系统运行情况,而在系统稳定后可以关闭log输出 , 从而在能跟踪系统运行情况的同时 , 又减少了垃圾代码
(3) 使用log4j,需要整个系统有一个统一的log机制,有利于系统的规划。

?log4使用

? 1,导入log4j-1.2.17.jar的jar包

如图:
在这里插入图片描述

?2, 创建log4j.properties文件

:

#日志打印的级别及目的地	debug>info>warn>error>fatal
#stdout控制台	logfile日志文件
log4j.rootLogger=debug  , stdout,logfile

# Console output...打印到控制台
log4j.appender.stdout=org.apache.log4j.ConsoleAppender  
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}  %F %p %m%n
#日志文件打印设置
log4j.appender.logfile=org.apache.log4j.FileAppender
#日志的文件地址
log4j.appender.logfile.File=test.log  #输出的文件名
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %F %p %m%n

?3,设置日志

import org.junit.Test;
import org.apache.log4j.Logger;
public class demo4 {
    public static void main(String[] args) {
        //创建日志对象
        Logger logger=Logger.getLogger(Test.class);
        //输出日志
        //输出级别,并依次递增
        logger.trace("trace");    
        logger.debug("dubug");
        logger.info("info");
        logger.warn("warn");
        logger.error("error");
        logger.fatal("fatal");
    }
}

?4,输出结果

?控制台

:
在这里插入图片描述

?文件

在这里插入图片描述
这样就OK啦,这是最基础的log4j使用,还想深入学习,可
以看看这个诺 → ??log4j配置文件详解(三大组件)