java日志
文章目录
文章目录
- 文章目录
- 一、日志概述
- 二、Logback
-
- 1.logback日志开发步骤
- 2.logback.xml核心配置
一、日志概述
二、Logback
1.logback日志开发步骤
代码如下(示例):
package com.study;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class Test { public static void main(String[] args) { try { LOGGER.debug("main方法开始执行了"); LOGGER.info("第二行日志,开始做除法"); int a=100; int b=0; LOGGER.trace("a="+a); LOGGER.trace("b="+b); System.out.println("结果是:"+a/b); } catch (Exception e) { e.printStackTrace(); LOGGER.error("功能出现异常"+e); } } //创建logback日志对象 public static final Logger LOGGER= LoggerFactory.getLogger("Test.class");}/*2022-06-07 11:30:58.416 [DEBUG] Test.class [main] : main方法开始执行了2022-06-07 11:30:58.418 [INFO ] Test.class [main] : 第二行日志,开始做除法2022-06-07 11:30:58.418 [TRACE] Test.class [main] : a=1002022-06-07 11:30:58.419 [TRACE] Test.class [main] : b=02022-06-07 11:30:58.419 [ERROR] Test.class [main] : 功能出现异常java.lang.ArithmeticException: / by zerojava.lang.ArithmeticException: / by zeroat com.study.Test.main(Test.java:15) */<?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>F:logback\log/data.log</file> <!--指定日志文件拆分和压缩规则--> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!--通过指定压缩文件名称,来确定分割文件方式--> <fileNamePattern>F:logback\log\log-%d{yyyy-MM-dd}.log%i.gz</fileNamePattern> <!--文件拆分大小--> <maxFileSize>1MB</maxFileSize> </rollingPolicy> </appender> <!-- level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR | ALL 和 OFF , 默认debug <root>可以包含零个或多个<appender-ref>元素,标识这个输出位置将会被本日志级别控制。 --> <root level="ALL"> <!-- 注意:如果这里不配置关联打印位置,该位置将不会记录日志--> <appender-ref ref = "CONSOLE"/> <appender-ref ref="FILE" /> </root></configuration>
2.logback.xml核心配置