logback-classic-1.2.3.jarhttp://链接: https://pan.baidu.com/s/1cA3gVB_6DEA-cSFJN6MDGw 提取码: sn8i 复制这段内容后打开百度网盘手机App,操作更方便哦 logback-core-1.2.3.jarhttp://链接: https://pan.baidu.com/s/19eCsvsO72a9PTqpXvXxrgg 提取码: 5ypt 复制这段内容后打开百度网盘手机App,操作更方便哦 slf4j-api-1.7.26.jarhttp://链接: https://pan.baidu.com/s/1d8gQRtzCYrJWYaG5G7Lgwg 提取码: k6si 复制这段内容后打开百度网盘手机App,操作更方便哦
Logback快速入门
接下来,就带领同学们快速使用一下Logback日志框架,使用Logback记录几条日志信息到文件中去和将日志信息打印在控制台上。
由于Logback是第三方提供的技术,所以首先需要啊将Jar包引入到项目中,具体步骤如下
-
在资料中找到
slftj-api.jar、logback-core.jar、logback-classes.jar
这三个jar包,复制一下 -
在当前模块下面新建一个lib文件夹,把刚刚复制的三个jar包都粘贴到此处
-
从资料中找到
logback.xml
配置文件,将此文件复制粘贴到src目录下(必须是src目录) -
<?xml version="1.0" encoding="UTF-8"?> <configuration><!--CONSOLE :表示当前的日志信息是可以输出到控制台的。--><appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"><!--输出流对象 默认 System.out 改为 System.err--><target>System.out</target><encoder><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %c [%thread] : %msg%n</pattern></encoder></appender><!-- File是输出的方向通向文件的 --><appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern><charset>utf-8</charset></encoder><!--日志输出路径--><file>D:/log/itheima-data.log</file><!--指定日志文件拆分和压缩规则--><rollingPolicyclass="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><!--通过指定压缩文件名称,来确定分割文件方式--><fileNamePattern>D:/log/itheima-data-%i-%d{yyyy-MM-dd}-.log.gz</fileNamePattern><!--文件拆分大小--><maxFileSize>1MB</maxFileSize></rollingPolicy></appender><!--1、控制日志的输出情况:如,开启日志,取消日志--><root level="debug"><appender-ref ref="CONSOLE"/><appender-ref ref="FILE" /></root> </configuration>
-
然后就可以开始写代码了,在代码中创建一个日志记录日对象
public static final Logger LOGGER = LoggerFactory.getLogger("当前类名");
-
开始记录日志,代码如下
public class LogBackTest {// 创建一个Logger日志对象public static final Logger LOGGER = LoggerFactory.getLogger("LogBackTest");public static void main(String[] args) {//while (true) {try {LOGGER.info("chu法方法开始执行~~~");chu(10, 0);LOGGER.info("chu法方法执行成功~~~");} catch (Exception e) {LOGGER.error("chu法方法执行失败了,出现了bug~~~");}//}}public static void chu(int a, int b){LOGGER.debug("参数a:" + a);LOGGER.debug("参数b:" + b);int c = a / b;LOGGER.info("结果是:" + c);}
}
当我们运行程序时,就可以看到控制台记录的日志
同时在文件中,也有一份这样的日志信息。文件在哪里内,从配置文件中去找
3.4 日志配置文件
Logback提供了一个核心配置文件logback.xml,日志框架在记录日志时会读取配置文件中的配置信息,从而记录日志的形式。具体可以做哪些配置呢?
1. 可以配置日志输出的位置是文件、还是控制台 2. 可以配置日志输出的格式 3. 还可以配置日志关闭和开启、以及哪些日志输出哪些日志不输出。
-
如下图所示,控制日志往文件中输出,还是往控制台输出
-
如下图所示,控制日志的输出的格式
日志格式是由一些特殊的符号组成,可以根据需要删减不想看到的部分。比如不想看到线程名那就不要[%thread]。但是不建议同学们更改这些格式,因为这些都是日志很基本的信息。
-
3.5 配置日志级别