- Logback日志框架
- Logback框架分为以下几个模块
- 想要使用Logback日志框架,至少在项目中整合如下三个模块:
- Logback快速入门
- 目的:使用Logback日志框架,记录系统的运行信息
- 实现步骤:
- Test.class
- 控制台日志信息
- 文件日志信息
- Logback核心配置文件
- Logback日志的输出位置、格式设置
- 输出到控制台的配置标志
- 输出到系统文件的配置标志
- 日志级别
- logback.xml文件
官方网站:Logback官网
Logback框架分为以下几个模块- logback-core:该模块为其他两个模块提供基础代码(必须有)
- logback-classic:完整实现了slf4jAPI模块(必须有)
- logback-access:模块与Tomcat和Jetty等Servlet容器结合以提供HTTP访问日志功能(可选模块)
jar包下载链接
slf4j-api
locback-core
logback-classic
-
导入Logback框架到项目中去。在项目中新建文件夹lib,导入Logback的jar包到该文件夹下
-
将存放jar文件的lib文件夹添加到项目的依赖库中去
-
将Logback核心配置文件logback.xml直接拷贝到src目录下
-
创建Logback框架提供的Logger日志对象,后续使用其方法记录系统的日志信息
public static final Logger LOGGER = LoggerFactory.getLogger("Test.class");
Test.class
package com.iheima.logback;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Test {
//创建Logback日志对象,代表了日志技术
public static final Logger LOGGER = LoggerFactory.getLogger("Test.class");
public static void main(String[] args) {
try {
LOGGER.debug("main方法开始执行");
LOGGER.info("我开始记录第二行日志,我要开始做除法~~~");
int a = 10;
int b = 0;
LOGGER.trace("a=" + a);
LOGGER.trace("b=" + b);
System.out.println(a / b);
} catch (Exception e) {
e.printStackTrace();
LOGGER.error("功能出现异常" + e);
}
System.out.println("**********程序结束***********");
}
}
控制台日志信息
2022-08-08 21:34:31.718 [DEBUG] Test.class [main] : main方法开始执行 2022-08-08 21:34:31.719 [INFO ] Test.class [main] : 我开始记录第二行日志,我要开始做除法~~~ 2022-08-08 21:34:31.719 [TRACE] Test.class [main] : a=10 2022-08-08 21:34:31.719 [TRACE] Test.class [main] : b=0 2022-08-08 21:34:31.720 [ERROR] Test.class [main] : 功能出现异常java.lang.ArithmeticException: / by zero **********程序结束*********** java.lang.ArithmeticException: / by zero at com.iheima.logback.Test.main(Test.java:21) Process finished with exit code 0文件日志信息 Logback核心配置文件
对logback日志框架的控制,都是通过核心配置文件logback.xml实现的。
Logback日志的输出位置、格式设置- 通过logback.xml中的标签可以设置输出位置
- 通常可以设置2个日志输出位置:控制台、系统文件
输出到系统文件的配置标志
日志级别
- ALL和OFF分别是打开关闭全部日志信息
- 除此之外日志级别还有TRACE
- 作用:当在logback.xml文件中设置了某种日志级别后、系统将输出当前级别,以及高于当前级别的日志。
具体在标签的level属性中设置指定系统的日志级别。
logback.xml文件
System.out %d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %c [%thread] : %msg%n %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n utf-8 D:/logback/path/itheima-data.log >D:/logback/path/itheima-data2-%d{yyyy-MM-dd}.log%i.gz 1MB



