Log4j使用复习

今天心血来潮复习一下Log4j
Log4j有下面三种组件

Loggers(记录器)
Appenders(输出源)
Layouts(布局)

Loggers组件在此系统中被分为五个级别:

  • DEBUG
  • INFO
  • WARN
  • ERROR
  • FATAL

五个级别的顺序,分别用来指定这条日志信息的重要程度:

DEBUG < INFO < WARN < ERROR < FATAL

Appenders(输出源)

禁用和使用日志请求是Log4j的基本功能,Log4j日志系统提供许多强大的功能,比如允许把日志输出到不同的地方,如控制台(Console)、文件(Files)等,可以根据天数或者文件大小产生新的文件,可以以流的形式发送到其它地方等。

常用的类如下:
- org.apache.log4j.ConsoleAppender #控制台
- org.apache.log4j.FileAppender #日志文件
- org.apache.log4j.DailyRollingFileAppender #每天产生一个日志文件
- org.apache.log4j.RollingFileAppender #文件大小到达指定尺寸的时候产生一个新的文件
- org.apache.log4j.WriterAppender #将日志信息以流格式发送到任意指定的地方
- org.apache.log4j.jdbc.JDBCAppender #数据库
- org.apache.log4j.net.JMSAppender #
- org.apache.log4j.net.SocketAppender #Socket
- org.apache.log4j.net.SMTPAppender #邮件

Layouts(布局)

有时,用户希望根据自己的喜好格式化自己的日志输出,Log4j可以在Appenders的后面附加Layouts来完成这个功能。Layouts提供四种日志输出格式,如根据HTML样式、自由指定样式、包含日志级别与信息的样式、包含日志时间、线程、类别等信息的样式。

常用类如下:
- org.apache.log4j.HTMLLayout #以HTML表格表式布局
- org.apache.log4j.PatternLayout #可以灵活批定布局模式
- org.apache.log4j.SimpleLayout #包含日志信息的级别和信息字符串
- org.apache.log4j.TTCCLayout #包含日志产生的时间、线程、类别等信息

下面是我写的一个Demo
pom.xml

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

LogDemo.java

import org.apache.log4j.Logger;
public class LogDemo{
    private static final Logger logger = Logger.getLogger(LogDemo.class);
    public static final void main(String[] args)
    {
        logger.info("111");
        logger.error("222");
        logger.debug("333");
    }
}

log4j.properties 放到src目录下

#第一个是Loggers的级别,后面是不同的appeder
log4j.rootLogger=DEBUG,console,file,file2

#log4j.logger.com.mi.bigdata.quality.utils=DEBUG
#console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n
#file
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=E:\\log1.log
log4j.appender.file.Threshold=INFO
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[F1] %p [%t] %C.%M(%L) | %m%n
#file2
log4j.appender.file2=org.apache.log4j.FileAppender
log4j.appender.file2.File=E:\\log2.log
log4j.appender.file2.Threshold=DEBUG
log4j.appender.file2.layout=org.apache.log4j.PatternLayout
log4j.appender.file2.layout.ConversionPattern=%d-[F2] %p %t %c - %m%n

具体细节参考下面配置

https://www.cnblogs.com/ywlaker/p/6124067.htm
https://blog.csdn.net/jssg_tzw/article/details/77678375l

猜你喜欢

转载自blog.csdn.net/q2365921/article/details/80279913