java logback所有字段 java logback日志序列化_System

 

Logback快速入门:

需求:导入Logback日志技术到项目中,用于记录系统的日志信息

  • 第一步:在项目下新建文件夹,导入Logback的相关jar包到改文件夹下,并添加到项目依赖库中。

在模块位置右键new一个directory,命名为lib,将相关jar包拷贝到lib下:

java logback所有字段 java logback日志序列化_xml_02

 

 添加到依赖库:

java logback所有字段 java logback日志序列化_java logback所有字段_03

 

 出现如下箭头说明添加成功:

java logback所有字段 java logback日志序列化_System_04

 

  •  第二步:将Logback的核心配置文件logback.xml直接拷贝到src目录下(必须是src目录下)

点击此处下载logback.xml文件,跳转到网页之后在页面右键即可下载

  • 第三步:在代码中获取日志的对象
public static final Logger LOGGER = LoggerFactory.getLogger("类对象");

Logback日志技术初识示例:

1 import org.slf4j.Logger;
 2 import org.slf4j.LoggerFactory;
 3 
 4 public class Test {
 5     //创建Logback的日志对象,代表了日志技术
 6     public static final Logger LOGGER = LoggerFactory.getLogger("Test.class");
 7     public static void main(String[] args) {
 8         try {
 9             LOGGER.debug("main方法开始执行");
10             LOGGER.info("我开始记录第二行日志,开始做除法");
11             int a = 10;
12             int b = 0;
13             LOGGER.trace("a = " + a);
14             LOGGER.trace("b = " + b);
15             System.out.println(a/b);
16         } catch (Exception e) {
17             e.printStackTrace();
18             LOGGER.error("功能出现异常:" + e);
19         }
20     }
21 }

可以在logback.xml配置文件中更改相关的配置信息(如日志的打印位置):

java logback所有字段 java logback日志序列化_xml_05

 

 示例程序运行结果:

java logback所有字段 java logback日志序列化_xml_06

 

 相应的,磁盘中也保存的有与控制台一样的日志信息:

java logback所有字段 java logback日志序列化_xml_07

 

 由此看来,使用日志可以达到长久有效地保存信息,并且还详细地记录了某项功能地访问,即便是日后项目上线,也可以在文件中实时的检测项目地运行状况。

  • Logback日志输出位置、格式设置:

logback.xml内部详细信息及设置:

1 <?xml version="1.0" encoding="UTF-8"?>
 2 <configuration>
 3     <!--
 4         CONSOLE :表示当前的日志信息是可以输出到控制台的。
 5     -->
 6     <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
 7         <!--输出流对象 默认 System.out 改为 System.err-->
 8         <target>System.out</target>
 9         <encoder>
10             <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度
11                 %msg:日志消息,%n是换行符-->
12             <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level]  %c [%thread] : %msg%n</pattern>
13         </encoder>
14     </appender>
15 
16     <!-- File是输出的方向通向文件的 -->
17     <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
18         <encoder>
19             <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
20             <charset>utf-8</charset>
21         </encoder>
22         <!--日志输出路径-->
23         <file>D:/Intellij_IDEA_install/code/logback_message.log</file>
24         <!--指定日志文件拆分和压缩规则-->
25         <rollingPolicy
26                 class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
27             <!--通过指定压缩文件名称,来确定分割文件方式-->
28             <fileNamePattern>D:/Intellij_IDEA_install/code/logback_message-%d{yyyy-MMdd}.log%i.gz</fileNamePattern>
29             <!--文件拆分大小-->
30             <maxFileSize>1MB</maxFileSize>
31         </rollingPolicy>
32     </appender>
33 
34     <!--
35 
36     level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF
37    , 默认debug
38     <root>可以包含零个或多个<appender-ref>元素,标识这个输出位置将会被本日志级别控制。
39     -->
40     <root level="ALL">
41         <appender-ref ref="CONSOLE"/> <!--如果这个地方不配置关联打印的位置,改位置将不会记录日志-->
42         <appender-ref ref="FILE" />
43     </root>
44 </configuration>
  • 日志级别设置:
  1. TRACE < DEBUG < INFO < WARN < ERROR
  2. 默认级别时DEBUG(忽略大小写),只输出不低于当前级别的日志
  3. ALL和OFF分别时打开全部日志和关闭全部日志