Spring Boot Logback日志配置
logback的使用:
Logback的默认配置
如果配置文件 logback-test.xml 和 logback.xml 都不存在,那么 logback 默认地会调用BasicConfigurator ,创建一个最小化配置。最小化配置由一个关联到根 logger 的ConsoleAppender 组成。输出用模式为%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n 的 PatternLayoutEncoder 进行格式化。root logger 默认级别是 DEBUG。
1、Logback的配置文件
Logback 配置文件的语法非常灵活。正因为灵活,所以无法用 DTD 或 XML schema 进行定义。尽管如此,可以这样描述配置文件的基本结构:以
2、Logback默认配置的步骤
(1). 尝试在 classpath 下查找文件 logback-test.xml;
(2). 如果文件不存在,则查找文件 logback.xml;
(3). 如果两个文件都不存在,logback 用 Bas icConfigurator 自动对自己进行配置,这会导致记录输出到控制台。
3、Logback.xml 文件
在src/main/resources下添加Logback.xml目录如下:
Logback.xml配置如下:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configuration>
<!--tomcat下日志存放路径的配置,其他应用服务器,请自己改动-->
<property name="LOG_PATH" value="${CATALINA_HOME:-..}/logs/hy360"/>
<!-- 彩色日志格式 -->
<!--不加粗的彩色格式,喜欢用就消掉注释-->
<!--<property name="CONSOLE_LOG_PATTERN" value="%boldCyan(%date{yyyy-MM-dd HH:mm:ss:SSS}) | %highlight(%-5level) | %yellow(%15.15t) | %green(%40.40logger{39}) | %msg%n"/>-->
<!--加粗的彩色格式,不喜欢就用上面的-->
<property name="CONSOLE_LOG_PATTERN"
value="%boldCyan(%date{yyyy-MM-dd HH:mm:ss:SSS}) | %highlight(%-5level) | %boldYellow(%15.15t) | %boldGreen(%40.40logger{39}) | %gray(%msg%n)"/>
<!--日志文件里的 日志文字输出格式-->
<property name="FILE_LOG_PATTERN"
value="[%date{yyyy-MM-dd HH:mm:ss}] [%-5level] [%logger:%line] --%mdc{client} %msg%n"/>
<!-- Console 输出设置 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<!--encoder 默认配置为PatternLayoutEncoder -->
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
</encoder>
<!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息 -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
</appender>
<!-- 按照每天生成日志文件 -->
<!-- 出错日志 appender -->
<appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- 按天回滚 daily -->
<!-- log.dir 在maven profile里配置 -->
<fileNamePattern>${LOG_PATH}/%d{yyyy-MM-dd}-error.%i.log.zip</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxFileSize>10MB</maxFileSize>
<maxHistory>60</maxHistory>
<totalSizeCap>1GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
<!-- 只打印错误日志 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- info日志 appender -->
<appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- 按天回滚 daily -->
<fileNamePattern>${LOG_PATH}/%d{yyyy-MM-dd}-info.%i.log.zip</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxFileSize>10MB</maxFileSize>
<maxHistory>60</maxHistory>
<totalSizeCap>1GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
<!-- 只打印INFO日志 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 生产环境下,将此级别配置为适合的级别,以免日志文件太多或影响程序性能 -->
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="ERROR"/>
<appender-ref ref="INFO"/>
</root>
</configuration>
在程序用引用Logback:
public class WxPayController {
private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired
private WxPayServiceImpl wxPayService;
@Autowired
private AliPayService payService; @GetMapping("/queryOrder")
public ResultVo<Integer> queryOrder(@RequestParam(required = false) String transactionId,
@RequestParam(required = false) String outTradeNo) {
try {
wxPayService.queryOrder(transactionId, outTradeNo);
} catch (WxPayException e) {
logger.error("查询微信支付订单时发生错误,原因:" + e.getMessage());
}
return ResultVo.success(0);
}
}
Spring Boot Logback日志配置的更多相关文章
- Spring Boot Logback 默认配置
Spring Boot Logback 默认配置 标签(空格分隔): Spring Boot Intro(介绍) Spring Boot 1.5.9 默认使用的日志框架是 Logback. 生效的默认 ...
- [日志] spring boot + logback 日志输出配置
一.输出日志到控制台 springboot有很多starter(参考starter)方便快速构建项目依赖组件,logback是springboot默认的日志组件,启动即可看到打印在控制台输出的info ...
- Spring Boot系列——日志配置
日志,通常不会在需求阶段作为一个功能单独提出来,也不会在产品方案中看到它的细节.但是,这丝毫不影响它在任何一个系统中的重要的地位. 为了保证服务的高可用,发现问题一定要即使,解决问题一定要迅速,所以生 ...
- (六)Spring Boot之日志配置-logback和log4j2
一.简介 支持日志框架:Java Util Logging, Log4J2 and Logback,默认是使用logback 配置方式: 默认配置文件配置 引用外部配置文件配置 二.默认配置文件配置( ...
- Spring Boot的日志配置
一.配置logback日志 Spring Boot默认使用logback打印日志 需要增加依赖 <groupId>org.springframework.boot</groupId& ...
- (转)Spring boot——logback.xml 配置详解(四)<filter>
文章转载自:http://aub.iteye.com/blog/1101260,在此对作者的辛苦表示感谢! 1 filter的使用 <filter>: Logback的过滤器基于三值逻辑( ...
- (转)Spring boot——logback.xml 配置详解(二)
文章转载自:http://aub.iteye.com/blog/1101260,在此对作者的辛苦表示感谢! 1 根节点<configuration>包含的属性 scan: 当此属性设置为t ...
- Spring boot——logback.xml 配置详解(四)<filter>
阅读目录 1 filter的使用 2 常用的过滤器 文章转载自:http://aub.iteye.com/blog/1101260,在此对作者的辛苦表示感谢! 回到顶部 1 filter的使用 < ...
- Spring boot——logback.xml 配置详解(二)
阅读目录 1 根节点包含的属性 2 根节点的子节点 文章转载自:http://aub.iteye.com/blog/1101260,在此对作者的辛苦表示感谢! 回到顶部 1 根节点<config ...
随机推荐
- C#Mvc批量删除
前台页面(JQuery) @*全选&批删*@<script type="text/javascript"> $(document).ready(function ...
- c# 类的历遍和历遍操作
string id = Request.Form["id"]; string type = Request.Form["type"]; string info ...
- this的学习
面试经常被问到this的问题,每次回答都感觉回答的不尽人意,今天周六就在家好好研究this的问题 1.function定义的时候this的指向是无法确定的,执行function的时候才知道this的指 ...
- python简单爬虫 用lxml解析页面中的表格
目标:爬取湖南大学2018年在各省的录取分数线,存储在txt文件中 部分表格如图: 部分html代码: <table cellspacing="0" cellpadding= ...
- Python之元组方法
def count(self, value): # 计算元素出现的个数 """ T.count(value) -> integer -- return number ...
- DevExpress v18.2新版亮点——DevExtreme篇(一)
行业领先的.NET界面控件2018年第二次重大更新——DevExpress v18.2日前正式发布,本站将以连载的形式为大家介绍新版本新功能.本文将介绍了DevExtreme Complete Sub ...
- 《JavaScript Dom 编程艺术》读书笔记-第11章
本章简单介绍了HTML5,并推荐了一个好工具Modernizr,用于检测浏览器可能支持的各种特性. HTML5的新特性包括: 可以用来在文档中绘制矢量及位图的<canvas>元素: 可以在 ...
- 20175224 2018-2019-2 《Java程序设计》第八周学习总结
教材学习内容总结 第十五章 泛型与集合框架 泛型 泛型:目的为建立具有类型安全的集合框架. 泛型类声明:class People<E> class 名称<泛型列表> 链表 定义 ...
- maven管理jar,pom.xml导入spring依赖
<properties> <junit.version>4.12</junit.version> <spring.version>4.3.9.RELEA ...
- Beta冲刺 5
前言 队名:拖鞋旅游队 组长博客:https://www.cnblogs.com/Sulumer/p/10129059.html 作业博客:https://edu.cnblogs.com/campus ...