SSM项目之商铺系统-logback的配置(四)

2024-02-18 02:32

本文主要是介绍SSM项目之商铺系统-logback的配置(四),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

logback

Logback 是 Slf4j 的原生实现框架,同样也是出自 Log4j 一个人之手,但拥有比 log4j 更多的优点、特性和更做强的性能,现在基本都用来代替 log4j 成为主流。

我们在

设置一个名为logback.xml文件来配置logback,具体信息如下

 

<?xml version="1.0" encoding="UTF-8"?>
<!-- scan属性未true时,如果配置文档发生改变将会进行重新加载 -->
<!-- scanPeriod属性设置监测配置文件修改的时间间隔,默认单位为毫秒,在scan为true时才生效 -->
<!-- debug属性如果为true时,会打印出logback内部的日志信息 -->
<configuration scan="true" scanPeriod="60 seconds" debug="false"><!-- 定义参数常量 --><!-- 日志级别:TRACE<DEBUG<INFO<WARN<ERROR,其中常用的是DEBUG、INFO和ERROR --><property name="log.level" value="debug" /><!-- 文件保留时间 --><property name="log.maxHistory" value="30" /><!-- 日志存储路径 --><property name="log.filePath" value="${catalina.base}/logs/webapps" /><!-- 日志的显式格式 --><property name="log.pattern"value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}-%msg%n"></property><!-- 用于说明输出介质,此处说明控制台输出 --><appender name="consoleAppender"class="ch.qos.logback.core.ConsoleAppender"><!-- 类似于layout,除了将时间转化为数组,还会将转换后的数组输出到相应的文件中 --><encoder><!-- 定义日志的输出格式 --><pattern>${log.pattern}</pattern></encoder></appender><!-- DEBUG,表示文件随着时间的推移按时间生成日志文件 --><appender name="debugAppender"class="ch.qos.logback.core.rolling.RollingFileAppender"><!-- 文件路径 --><file>${log.filePath}/debug.log</file><!-- 滚动策略 --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 设置文件名称 --><fileNamePattern>${log.filePath}/debug/debug.%d{yyyy-MM-dd}.log.gz</fileNamePattern><!-- 设置最大保存周期 --><MaxHistory>${log.maxHistory}</MaxHistory></rollingPolicy><encoder><pattern>${log.pattern}</pattern></encoder><!-- 过滤器,过滤掉不是指定日志水平的日志 --><filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 设置日志级别 --><level>DEBUG</level><!-- 如果跟该日志水平相匹配,则接受 --><onMatch>ACCEPT</onMatch><!-- 如果跟该日志水平不匹配,则过滤掉 --><onMismatch>DENY</onMismatch></filter></appender><!-- INFO,表示文件随着时间的推移按时间生成日志文件 --><appender name="infoAppender"class="ch.qos.logback.core.rolling.RollingFileAppender"><!-- 文件路径 --><file>${log.filePath}/info.log</file><!-- 滚动策略 --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 设置文件名称 --><fileNamePattern>${log.filePath}/info/info.%d{yyyy-MM-dd}.log.gz</fileNamePattern><!-- 设置最大保存周期 --><MaxHistory>${log.maxHistory}</MaxHistory></rollingPolicy><encoder><pattern>${log.pattern}</pattern></encoder><!-- 过滤器,过滤掉不是指定日志水平的日志 --><filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 设置日志级别 --><level>INFO</level><!-- 如果跟该日志水平相匹配,则接受 --><onMatch>ACCEPT</onMatch><!-- 如果跟该日志水平不匹配,则过滤掉 --><onMismatch>DENY</onMismatch></filter></appender><!-- ERROR,表示文件随着时间的推移按时间生成日志文件 --><appender name="errorAppender"class="ch.qos.logback.core.rolling.RollingFileAppender"><!-- 文件路径 --><file>${log.filePath}/error.log</file><!-- 滚动策略 --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 设置文件名称 --><fileNamePattern>${log.filePath}/error/error.%d{yyyy-MM-dd}.log.gz</fileNamePattern><!-- 设置最大保存周期 --><MaxHistory>${log.maxHistory}</MaxHistory></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><!-- 用于存放日志对象,同时指定关联的package位置 --><!-- name指定关联的package --><!-- level表明指记录哪个日志级别以上的日志 --><!-- appender-ref指定logger向哪个文件输出日志信息 --><!-- additivity为true时,logger会把根logger的日志输出地址加入进来,但logger水平不依赖于根logger --><logger name="com.campus.o2o" level="${log.level}" additivity="true"><appender-ref ref="debugAppender" /><appender-ref ref="infoAppender" /><appender-ref ref="errorAppender" /></logger><!-- 特殊的logger,根logger --><root lever="info"><!-- 指定默认的日志输出 --><appender-ref ref="consoleAppender" /></root>
</configuration>

 

这篇关于SSM项目之商铺系统-logback的配置(四)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/719767

相关文章

基于C++的UDP网络通信系统设计与实现详解

《基于C++的UDP网络通信系统设计与实现详解》在网络编程领域,UDP作为一种无连接的传输层协议,以其高效、低延迟的特性在实时性要求高的应用场景中占据重要地位,下面我们就来看看如何从零开始构建一个完整... 目录前言一、UDP服务器UdpServer.hpp1.1 基本框架设计1.2 初始化函数Init详解

Django调用外部Python程序的完整项目实战

《Django调用外部Python程序的完整项目实战》Django是一个强大的PythonWeb框架,它的设计理念简洁优雅,:本文主要介绍Django调用外部Python程序的完整项目实战,文中通... 目录一、为什么 Django 需要调用外部 python 程序二、三种常见的调用方式方式 1:直接 im

jdk1.8的Jenkins安装配置实践

《jdk1.8的Jenkins安装配置实践》Jenkins是一款流行的开源持续集成工具,支持自动构建、测试和部署,通过Jenkins,开发团队可以实现代码提交后自动进行构建、测试,并将构建结果分发到测... 目录Jenkins介绍Jenkins环境搭建Jenkins安装配置Jenkins插件安装Git安装配

Nginx之https证书配置实现

《Nginx之https证书配置实现》本文主要介绍了Nginx之https证书配置的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起... 目录背景介绍为什么不能部署在 IIS 或 NAT 设备上?具体实现证书获取nginx配置扩展结果验证

springboot3.x使用@NacosValue无法获取配置信息的解决过程

《springboot3.x使用@NacosValue无法获取配置信息的解决过程》在SpringBoot3.x中升级Nacos依赖后,使用@NacosValue无法动态获取配置,通过引入SpringC... 目录一、python问题描述二、解决方案总结一、问题描述springboot从2android.x

nginx跨域访问配置的几种方法实现

《nginx跨域访问配置的几种方法实现》本文详细介绍了Nginx跨域配置方法,包括基本配置、只允许指定域名、携带Cookie的跨域、动态设置允许的Origin、支持不同路径的跨域控制、静态资源跨域以及... 目录一、基本跨域配置二、只允许指定域名跨域三、完整示例四、配置后重载 nginx五、注意事项六、支持

Spring配置扩展之JavaConfig的使用小结

《Spring配置扩展之JavaConfig的使用小结》JavaConfig是Spring框架中基于纯Java代码的配置方式,用于替代传统的XML配置,通过注解(如@Bean)定义Spring容器的组... 目录JavaConfig 的概念什么是JavaConfig?为什么使用 JavaConfig?Jav

JAVA项目swing转javafx语法规则以及示例代码

《JAVA项目swing转javafx语法规则以及示例代码》:本文主要介绍JAVA项目swing转javafx语法规则以及示例代码的相关资料,文中详细讲解了主类继承、窗口创建、布局管理、控件替换、... 目录最常用的“一行换一行”速查表(直接全局替换)实际转换示例(JFramejs → JavaFX)迁移建

Spring Boot Interceptor的原理、配置、顺序控制及与Filter的关键区别对比分析

《SpringBootInterceptor的原理、配置、顺序控制及与Filter的关键区别对比分析》本文主要介绍了SpringBoot中的拦截器(Interceptor)及其与过滤器(Filt... 目录前言一、核心功能二、拦截器的实现2.1 定义自定义拦截器2.2 注册拦截器三、多拦截器的执行顺序四、过

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加