logback-spring.xml 模版
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
<springProperty scope="context" name="LOG_HOME" source="log.path"/>
<springProperty scope="context" name="APP_NAME" source="spring.application.name"/>
<!-- 日志输出格式 -->
<property name="PATTERN" value=" %d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%thread] [%X{requestId}] %logger{50} [%line] - %msg%n"/>
<!-- 控制台日志:输出全部日志到控制台 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>${PATTERN}</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<!-- 文件日志:输出全部日志到文件 -->
<appender name="FILE_INFO_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_HOME}/info-${APP_NAME}.log</file>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>DENY</onMatch>
<onMismatch>ACCEPT</onMismatch>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}/info-${APP_NAME}.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
<maxHistory>180</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>50MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>${PATTERN}</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<!-- 错误日志:用于将错误日志输出到独立文件 -->
<appender name="FILE_ERROR_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_HOME}/error-${APP_NAME}.log</file>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}/error-${APP_NAME}.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
<maxHistory>180</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>50MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>${PATTERN}</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<!--必填标签,用来指定最基础的日志输出级别-->
<root level="INFO">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE_INFO_LOG" />
<appender-ref ref="FILE_ERROR_LOG" />
</root>
</configuration>
部分标签说明
<root>标签,必填标签,用来指定最基础的日志输出级别<appender-ref>标签,添加append<append>标签,通过使用该标签指定日志的收集策略name属性指定appender命名class属性指定输出策略,通常有两种,控制台输出和文件输出,文件输出就是将日志进行一个持久化。ConsoleAppender将日志输出到控制台<filter>标签,通过使用该标签指定过滤策略<level>标签指定过滤的类型<encoder>标签,使用该标签下的标签指定日志输出格式<rollingPolicy>标签指定收集策略,比如基于时间进行收集<fileNamePattern>标签指定生成日志保存地址,通过这样配置已经实现了分类分天手机日志的目标了
application.properties中配置
log.path = ./logs/spring-cloud-project-b
logback-spring.xml 模版的更多相关文章
- logback+spring实践
配置文件名称使用: logback-spring.xml 配置user.home是jvm传过来的系统参数,可以直接使用 <property name="LOG_PATH&quo ...
- Logback 标准xml参考
强制: [强制]应用中不可直接使用日志系统(Log4j.Logback)中的 API,而应依赖使用日志框架SLF4J 中的 API,使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一.imp ...
- Spring xml中进行面向切面的配置
Spring xml中进行面向切面的配置 XML: <?xml version="1.0" encoding="UTF-8"?> <beans ...
- Spring错误——Spring xml注释——org.xml.sax.SAXParseException; lineNumber: 24; columnNumber: 10; cvc-complex-type.2.3: 元素 'beans' 必须不含字符 [子级], 因为该类型的内容类型为“仅元素”。
背景:配置spring xml,注释xml中文件元素 错误: Caused by: org.xml.sax.SAXParseException; lineNumber: 24; columnNumbe ...
- myeclipse中配置spring xml自己主动提示
版权声明: https://blog.csdn.net/zdp072/article/details/24582173 这是一篇分享技巧的文章:myeclipse中配置spring xml自己主动提示 ...
- spring xml的配置
Spring xml文档头得配置 spring文档头一般是可以复制过来得,刚学习得时候一直看网上有没有配置,然后也没有找到,希望以下过程得学习可以给大家带来帮助!! 1 ...
- spring xml properties split with comma for list
在注入spring bean 属性值的时候常常会用到list, 一般使用方式例如以下: <bean id="testBean" class="com.mytest. ...
- 缘起 Dubbo ,讲讲 Spring XML Schema 扩展机制
背景 在 Dubbo 中,可以使用 XML 配置相关信息,也可以用来引入服务或者导出服务.配置完成,启动工程,Spring 会读取配置文件,生成注入 相关 Bean.那 Dubbo 如何实现自定义 X ...
- IDEA Junit FileNotFoundException: class path resource [spring/spring.xml] cannot be opened because it does not exist
今天打算写一个单元测试,但是已经有写好的单元测试无论怎么弄都提示文件不存在,自己一度以为是启动方式不正确.这里简单记录一下处理过程 1 异常信息: Caused by: org.springframe ...
- Spring实战(十一) 在Spring XML中配置AOP
如果你没有源码,不能为通知类添加注解,又不想将AspectJ注解放入到你的代码中,必须选择XML配置了. 1.Spring XML配置文件 解析参考:http://www.cnblogs.com/bi ...
随机推荐
- vagrant 修改配置生效
vagrant reload --provision 起因 看 log 的时候以为写入错误,排查了几次才发现是系统时间不对,这里记录一下解决过程 手动同步时间 yum install ntpdate ...
- Qt/C++编写视频监控系统83-自定义悬浮条信息
一.前言 一般视频控件上会给出个悬浮条,这个悬浮条用于显示分辨率或者一些用户期望看到的信息,一般常用的信息除了分辨率以外,还有帧率.封装格式.视频解码器名称.音频解码器名称.实时码率等,由于实际的场景 ...
- Qt音视频开发46-视频传输UDP版
一.前言 上篇文章写道采用的TCP传输视频,优缺点很明显,优点就是不丢包,缺点就是速度慢,后面换成UDP通信,速度快了很多,少了3次握手,而且在局域网中基本上不丢包,就算偶尔丢包,对于一秒钟25-30 ...
- Qt通用方法及类库13
函数名 //设置按钮样式 static QString setPushButtonQss(QPushButton *btn, //按钮对象 int radius = 5, //圆角半径 int pad ...
- 在Win7 x64环境中将World Wind Java SDK 2.1.0嵌入到Eclipse中的方法
1.解压worldwind-2.1.0.zip. 2.打开Eclipse,依次点击New–>Java project ,输入project的名称WorldWind,一路直到finish.然后就可 ...
- 敏捷开发:如何高效开每日站会(Daily Stand-up Meeting)
介绍 在敏捷开发框架 Scrum 中,每日站会(Daily Stand-up Meeting,又叫 Daily Scrum)是 Sprint 迭代开发中,一个很重要的流程,一个重要的例会.在有限的时间 ...
- 深入解析子查询(SUBQUERY):增强 SQL 查询灵活性的强大工具
title: 深入解析子查询(SUBQUERY):增强 SQL 查询灵活性的强大工具 date: 2025/1/12 updated: 2025/1/12 author: cmdragon excer ...
- w3cschool-Netty 实战精髓篇2
https://www.w3cschool.cn/essential_netty_in_action/essential_netty_in_action-adkv28bm.html 研究Netty中的 ...
- w3cschool-Python3 高级教程
https://www.w3cschool.cn/python3/python3-reg-expressions.html Python3 正则表达式 re.match 函数 re.match 尝试从 ...
- Redis(3)---Redis事务|主从复制
Redis事务 Redis 通过 MULTI .EXEC. DISCARD 和 WATCH 四个命令来实现事务功能. MULTI :标记一个事务块的开始. EXEC: 执行所有事务块内的命令. DI ...