河曲智叟 发表于 2022-8-12 17:08:45

Java --> Logback日志框架

 https://img2022.cnblogs.com/blog/1579167/202206/1579167-20220625195555694-944722638.png
 
Logback快速入门:
需求:导入Logback日志技术到项目中,用于记录系统的日志信息

[*]第一步:在项目下新建文件夹,导入Logback的相关jar包到改文件夹下,并添加到项目依赖库中。
在模块位置右键new一个directory,命名为lib,将相关jar包拷贝到lib下:
https://img2022.cnblogs.com/blog/1579167/202206/1579167-20220625101621993-961129403.png
 
 添加到依赖库:
https://img2022.cnblogs.com/blog/1579167/202206/1579167-20220625101744226-1820043187.png
 
 出现如下箭头说明添加成功:
https://img2022.cnblogs.com/blog/1579167/202206/1579167-20220625101926477-156573438.png
 

[*] 第二步:将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配置文件中更改相关的配置信息(如日志的打印位置):
https://img2022.cnblogs.com/blog/1579167/202206/1579167-20220625114729556-67164675.png
 
 示例程序运行结果:
https://img2022.cnblogs.com/blog/1579167/202206/1579167-20220625114831937-527983626.png
 
 相应的,磁盘中也保存的有与控制台一样的日志信息:
https://img2022.cnblogs.com/blog/1579167/202206/1579167-20220625114947514-748304183.png
 
 由此看来,使用日志可以达到长久有效地保存信息,并且还详细地记录了某项功能地访问,即便是日后项目上线,也可以在文件中实时的检测项目地运行状况。

[*]Logback日志输出位置、格式设置:
logback.xml内部详细信息及设置:
1 <?xml version="1.0" encoding="UTF-8"?>
2 <configuration>
3   
6   <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
7         
8         <target>System.out</target>
9         <encoder>
10            
12             <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level]%c [%thread] : %msg%n</pattern>
13         </encoder>
14   </appender>
15
16   
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   
40   <root level="ALL">
41         <appender-ref ref="CONSOLE"/>
42         <appender-ref ref="FILE" />
43   </root>
44 </configuration>

[*]日志级别设置:

[*]TRACE < DEBUG < INFO < WARN < ERROR
[*]默认级别时DEBUG(忽略大小写),只输出不低于当前级别的日志
[*]ALL和OFF分别时打开全部日志和关闭全部日志

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Java --> Logback日志框架