logback日志框架集成方式

news/2024/10/17 16:26:06/

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、logback是什么?
  • 二、使用步骤
    • 1.使用方式
      • 控制台输出配置
      • 文件输出配置
      • html输出配置
      • 定期删除配置方式
  • 总结


前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、logback是什么?

一款日志框架

二、使用步骤

1.使用方式

<dependencies><!-- log4j日志门面 --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.25</version></dependency><!-- logback-core是logback-classic的基础模块,根据maven依赖传递性,无需重复导入 --><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.2.3</version></dependency><!-- 单元测试 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency>
</dependencies>

在这里插入图片描述

在这里插入图片描述

property 输出的数据格式 比如按照 时间 分钟 小时 日志级别 输出的方法

1.配置格式
[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5p] [%t] [%c#%M-%L] %m%n
yyyy-MM-dd HH:mm:ss.SSS:配置的时间信息[2023-04-20 09:47:21.333] [TRACE] [main] [com.cn.LogbackTest#test01-13] 追综

appender 输出数据的样式

target 配置字体颜色 system.out黑色 system.err 红色
encoder 输出的数据格式 

root 输出那什么地方 文件 控制台 html中

===appender-ref ==输出的地方
控制台 consoleAppender
文件 fileAppender
html htmlAppender
html和文件同样需要配置输出路径
文件需要配置输出路径
配置日志输出目录
property 同级目录文件下

name 是文件名称
value 是文件存储的的路径信息

控制台输出配置

<?xml version="1.0" encoding="UTF-8"?>
<configuration><!-- 配置自定义日志输出格式 --><property name="pattern" value="[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5p] [%t] [%c#%M-%L] %m%n"/><!-- 配置控制台输出器 --><appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender"><!-- 配置日志字体颜色,默认黑色(System.out),红色(System.err) --><target>System.err</target><!-- 配置日志输出格式 --><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!-- 引用自定义日志输出格式 --><pattern>${pattern}</pattern></encoder></appender><!-- 配置记录器 --><root level="ALL"><!-- 引用控制台输出器 --><appender-ref ref="consoleAppender"/></root></configuration>

文件输出配置

<?xml version="1.0" encoding="UTF-8"?>
<configuration><!-- 配置自定义日志输出格式 --><property name="pattern" value="[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5p] [%t] [%c#%M-%L] %m%n"/><!-- 配置日志输出目录 --><property name="logDir" value="../logDir"/><!-- 配置文件输出器 --><appender name="fileAppender" class="ch.qos.logback.core.FileAppender"><!-- 配置日志输出文件 --><file>${logDir}/logback.log</file><!-- 配置日志输出格式 --><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!-- 引用自定义日志输出格式 --><pattern>${pattern}</pattern></encoder></appender><!-- 配置记录器 --><root level="ALL"><!-- 引用文件输出器--><appender-ref ref="fileAppender"/></root></configuration>

html输出配置

<?xml version="1.0" encoding="UTF-8"?>
<configuration><!-- 配置自定义日志输出格式 --><property name="pattern1" value="%d{yyyy-MM-dd HH:mm:ss.SSS}%-5p%t%c%M%L%m%n"/><!-- 配置日志输出目录 --><property name="logDir" value="../logDir"/><!-- 配置HTML输出器--><appender name="htmlAppender" class="ch.qos.logback.core.FileAppender"><!-- 配置日志输出文件 --><file>${logDir}//logback.html</file><!-- 配置日志输出格式 --><encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder"><layout class="ch.qos.logback.classic.html.HTMLLayout"><!-- 引用自定义日志输出格式 --><pattern>${pattern1}</pattern></layout></encoder></appender><!-- 配置记录器 --><root level="ALL"><!-- 引用HTML输出器 --><appender-ref ref="htmlAppender"/></root></configuration>

定期删除配置方式

<?xml version="1.0" encoding="UTF-8"?>
<configuration><!-- 日志存放路径 --><property name="log.path" value="${LOG_PATH}" /><!-- 日志输出格式 --><property name="log.pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" /><!-- 控制台输出 --><appender name="console" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>${log.pattern}</pattern></encoder></appender><!-- 系统日志输出 --><appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${log.path}/sys-info.log</file><!-- 循环政策:基于时间创建日志文件 --><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><!-- 日志文件名格式 --><fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}-%i.log</fileNamePattern><!-- 日志最大的历史 30天 --><maxHistory>30</maxHistory><!--单个日志文件的最大体积--><maxFileSize>10KB</maxFileSize><!--控制所有归档日志文件的总大小--><totalSizeCap>10GB</totalSizeCap><!--是否在应用启动的时候删除历史日志--><cleanHistoryOnStart>true</cleanHistoryOnStart></rollingPolicy><encoder><pattern>${log.pattern}</pattern></encoder><filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 过滤的级别 --><level>INFO</level><!-- 匹配时的操作:接收(记录) --><onMatch>ACCEPT</onMatch><!-- 不匹配时的操作:有序列表里的下个过滤器过接着处理日志 --><onMismatch>NEUTRAL</onMismatch></filter><filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 过滤的级别 --><level>WARN</level><!-- 匹配时的操作:接收(记录) --><onMatch>ACCEPT</onMatch><!-- 不匹配时的操作:拒绝(不记录) --><onMismatch>DENY</onMismatch></filter></appender><appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${log.path}/sys-error.log</file><!-- 循环政策:基于时间创建日志文件 --><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><!-- 日志文件名格式 --><fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}-%i.log</fileNamePattern><!-- 日志最大的历史 30天 --><maxHistory>30</maxHistory><!--单个日志文件的最大体积--><maxFileSize>100MB</maxFileSize><!--控制所有归档日志文件的总大小--><totalSizeCap>10GB</totalSizeCap><!--是否在应用启动的时候删除历史日志--><cleanHistoryOnStart>true</cleanHistoryOnStart></rollingPolicy><encoder><pattern>${log.pattern}</pattern></encoder><filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 过滤的级别 --><level>ERROR</level><!-- 匹配时的操作:接收(记录) --><onMatch>ACCEPT</onMatch><!-- 不匹配时的操作:拒绝(不记录) --><onMismatch>DENY</onMismatch></filter></appender><!-- 系统模块日志级别控制(修改为你自己项目的包)  --><logger name="qgs.csmp" level="info" /><!-- Spring日志级别控制  --><logger name="org.springframework" level="warn" /><root level="info"><appender-ref ref="console" /></root><!--系统操作日志--><root level="info"><appender-ref ref="file_info" /><appender-ref ref="file_error" /></root>
</configuration>

总结

提示:日志是帮助我们进行排错和异常快速定位的方式,在哪里需要输出日志
1.在异常
2.在判断的时候

参考链接


http://www.ppmy.cn/news/51163.html

相关文章

【C++】右值引用(极详细版)

在讲右值引用之前&#xff0c;我们要了解什么是右值&#xff1f;那提到右值&#xff0c;就会想到左值&#xff0c;那左值又是什么呢&#xff1f; 我们接下来一起学习&#xff01; 目录 1.左值引用和右值引用 1.左值和右值的概念 2.左值引用和右值引用的概念 2.左值引用和右…

达梦数据迁移问题罗列

目录 一、前言 二、问题罗列 一、前言 最近小编接触到国产的数据库达梦数据库&#xff0c;然后在用达梦数据迁移工具MySQL迁移至达梦的时候遇到了一系列的问题现在罗列一下在这里。目前关于国产的数据库达梦这些资料比较少&#xff0c;希望能够帮到有需要的同志们&#xff01…

Java面试题面向对象部分

面向对象 面向对象概述 面向对象和面向过程的区别 面向过程&#xff1a; 优点&#xff1a;性能比面向对象高&#xff0c;因为类调用时需要实例化&#xff0c;开销比较大&#xff0c;比较消耗资源;比如单片机、嵌入式 开发、Linux/Unix等一般采用面向过程开发&#xf…

Hibernate的持久化类

Hibernate是一个开源的ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;用于将Java程序中的对象映射到数据库中的关系型数据。在Hibernate中&#xff0c;持久化类是用来映射Java对象和关系型数据库表的类。 编写Hibernate持久化类需要遵循以下规则&#xff1a; 持久…

MATLAB离散时间信号的实现和时域基本运算(九)

1、实验目的&#xff1a; 1&#xff09;了解时域离散信号的特点&#xff1b; 2&#xff09;掌握MATLAB在时域内产生常用离散时间信号的方法&#xff1b; 3&#xff09;熟悉离散时间信号的时域基本运算&#xff1b; 4&#xff09;掌握离散时间信号的绘图命令。 2、实验内容&…

学系统集成项目管理工程师(中项)系列03_职业道德规范

1. 职业道德 1.1. 涵盖了从业人员与服务对象、职业与职工、职业与职业之间的关系 1.2. 是所有从业人员在职业活动中应该遵循的行为准则 1.3. 包括爱岗敬业、诚实守信、办事公道、服务群众和奉献社会 2. 道德 2.1. 通常与法律相对应&#xff0c;具有非强制性 2.2. 指人们依…

windows下网络聊天室项目(C++、SQLite、计算机网络)——思路+源码+解析

这里只是在windows系统下用C++做的简易聊天室,其界面比较low,不过该有的功能已基本实现。至于带界面的,QT里有封装好的QTcpSocket套接字,会在下一篇博客里予以介绍。主要的功能主要包含的功能有:查看当前在线人数、进入群聊界面、进入私聊界面、查看聊天记录、文件传输、更…

前端canvas截图酷游地址的方法!

前情提要 想在在JavaScript中&#xff0c;酷游专员KW9㍠ㄇEㄒ提供用HTML5的Canvas元素来剪取画面并存成SVG或PNG。 程式写法(一) 首先&#xff0c;需要在HTML中创建一个Canvas元素<canvas id"myCanvas"></canvas> 在JavaScript中&#xff0c;使用canv…