欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Log4j入门

程序员文章站 2022-05-24 15:28:55
...

一.Log4j简介

Log4j是Apache开发的一款日志框架,被非常广泛用于各种类型的java项目中,Log4j官网
Log4j入门

在应用程序中添加日志记录总的来说基于三个目的:

  • 监视代码中变量的变化情况,周期性的记录到文件*其他应用进行统计分析工作 跟踪代码运
  • 行时轨迹,作为日后审计的依据
  • 担当集成开发环境中的调试器的作用,向文件或控制台打印代码的调试信息

在项目中添加日志记录最普通的做法就是在代码中嵌入许多的打印语句,这些打印语句可以输出到控制台或文件中,比较好的做法就是构造一个日志操作类来封装此类操作,而不是让一系列的打印语句充斥了代码的主体

Log4j是Apache的一个开放源代码项目,使用者可以控制日志信息输送的目的地,选择输出到控制台、文件、甚至是套接口服务器。同时可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,使用者能够更加细致地控制日志的生成过程,这些设置都在Log4j的配置文件log4j.properties方便灵活地进行配置

二.Log4j的版本

Log4j目前有1代和2代,即版本分为1.x版本和2.x版本,1代和2代在结构上差异比较大,1代还在很多老项目中使用,本文主要分析1代Log4j

三.Log4j的入门级案例

1.首先下载Log4j的jar包,并导入到项目

Log4j入门
Log4j入门
第四步选择jar包路径

2.测试类

package test;

import org.apache.log4j.Logger;

public class Log4j1Demo {
    private static Logger logger = Logger.getLogger(Log4j1Demo.class);
    public static void main(String[] args) {
        // 记录debug级别的信息
        logger.debug("This is debug message.");
        // 记录info级别的信息
        logger.info("This is info message.");
        // 记录error级别的信息
        logger.error("This is error message.");
    }
}

3.Log4j.properties配置文件

log4j.rootLogger=debug,appender1
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout

配置文件放到src根目录下
Log4j入门

运行结果:

Log4j入门

四.Log4j的框架结构

下图展示了Log4j框架主要的Java类,这些Java类用来完成Log4j框架最核心的功能,这些功能可以总结为三个方面

  1. 产生日志信息
  2. 将日志信息输出到指定位置
  3. 调整输出样式

Log4j入门
各个Java类具体的功能:

Logger - 日志写出器,供程序员输出日志信息
Appender - 日志目的地,把格式化好的日志信息输出到指定的地方去
ConsoleAppender - 目的地为控制台的Appender
FileAppender - 目的地为文件的Appender
RollingFileAppender - 目的地为大小受限的文件的Appender
Layout - 日志格式化器,用来把程序员的logging request格式化成字符串
PatternLayout - 用指定的pattern格式化logging request的Layout

五.Log4j使用方法

在Log4j的配置文件中,主要需要配置三方面的内容:

  1. 根目录(级别和目的地)
  2. 目的地(控制台、文件等等)
  3. 输出样式

和配置文件的配置相对应,Log4j框架的三个重要的组成部分:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式
日志信息的优先级从高到低有ERROR、WARN、 INFO、DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容

下一篇博客将详细分析Log4j的配置文件,Log4j的配置文件是使用Log4j框架的最重要的一环,Log4j框架配置文件log4j.properties配置使用详解

相关标签: log4j