springboot支付项目之日志配置
日志框架
本节主要内容:
1:常见的几种日志框架
2:Logback的使用
3:怎么配置info和error级别日志到不同文件中并且按照日期每天一个文件。
以上几个框架可以分类如下:
SLF4J和Logback的使用
日志级别:
级别越大越严重。
一:Java类中使用日志两种方式:
方式一:在每个类中添加日志对象:
private final Logger logger = LoggerFactory.getLogger(LoggerTest.class);
方法二:使用lombok插件:
在pom.xml文件中添加lombok依赖:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
然后再类上面使用@slf4j注解
推荐使用第二种,注解方式。这样就不用再每个类中添加了。
二:变量的打印
方式一:使用字符串+的方式。
直接使用字符串+的。如果变量多,+就需要很多了。
方式二:使用占位符的方式。
两个运行的结果:
推荐使用第二种,这样一看及明白。
Logback的配置
两种配置方式:
application.yml和logback-spring.xml
也就是一种基于yml文件一种基于xml文件配置的
来看下项目中经常遇到的日志需求:
区分info和error日志;每天产生一个日志文件。
方式一:再yml文件中配置
我们可以看到,logging相关配置还很多的。如console打印的日志格式、日期格式、文件、日志级别、日志最大大小等等。都可以配置的。
如:我们配置在控制台输出时间-信息换行。这个怎么配置呢?
查看运行结果:
配置日志输出位置:
运行后,可以在C盘下看到一个aa文件夹,打开就是日志文件了。如下图:
默认日志文件名称是spring.log。如果想修改成自己的可以使用file。如下图
运行后:
修改日志级别:
日志级别还可以绑定到指定的类上面。如:
第二种方式:使用xml文件配置
1:控制台输出:
2:根据不同日志级别输出到不同日志文件中。文件名带上日期
可以看到,文件滚动方式有很多,可以安装大小和时间、可以按照时间的。如下图:
配置后文件如下:
基于XML配置的所有配置信息:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!-- 控制台输入日志格式配置-->
<appender name="consolelogg" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>
%d -%msg%n
</pattern>
</layout>
</appender>
<!-- info日志 每天一个日志文件配置-->
<appender name="infoFileLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>DENY</onMatch>
<onMismatch>ACCEPT</onMismatch>
</filter>
<encoder>
<pattern>
%msg%n
</pattern>
</encoder>
<!-- 配置日志滚动策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 文件路径.文件名称中带有日期-->
<fileNamePattern>c:/aa/info.%d.log</fileNamePattern>
</rollingPolicy>
</appender>
<appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<encoder>
<pattern>
%msg%n
</pattern>
</encoder>
<!--滚动策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--路径-->
<fileNamePattern>c:/aa/error.%d.log</fileNamePattern>
</rollingPolicy>
</appender>
<root level="info">
<appender-ref ref="consolelogg"/>
<appender-ref ref="infoFileLog"/>
<appender-ref ref="fileErrorLog"/>
</root>
</configuration>
各位有什么更好的日志框架介绍下呗
springboot支付项目之日志配置的更多相关文章
- SpringBoot整合log4j2进行日志配置及防坑指南
写在前面 最近项目经理要求将原先项目中的日志配置logBack,修改为log4j2,据说是log4j2性能更优于logback,具体快多少,网上有说快10多倍,看来还是很快的,于是新的一波挑战又开始了 ...
- springboot支付项目之springboot集成jpa
springboot集成spring-jpa 本文主要内容: 1:spring boot怎么集成spring-jpa以及第一个jpa查询示例 如jpa几个常用注解.lombok注解使用 2:怎么设置i ...
- springboot超级详细的日志配置(基于logback)
前言 java web 下有好几种日志框架,比如:logback,log4j,log4j2(slj4f 并不是一种日志框架,它相当于定义了规范,实现了这个规范的日志框架就能够用 slj4f 调用) ...
- Spring Boot 日志配置
Spring Boot 日志配置 默认日志 Logback: 默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台.在运行应用程序和其他例子时,你应该已经看到很 ...
- springboot 入门六-多环境日志配置
在应用项目开发阶段,需要对日志进入很详细的输出便于排查问题原因,上线发布之后又只需要输出核心的日志信息的场景.springboot也提供多环境的日志配置.使用springProfile属性来标识使用那 ...
- springboot日志配置
默认情况下,spring boot使用的是LogBack日志系统.在spring-boot-starter-web和spring-boot-starter中都已经默认依赖了logging的工具包. 如 ...
- (转)Springboot日志配置(超详细,推荐)
Spring Boot-日志配置(超详细) 更新日志: 20170810 更新通过 application.yml传递参数到 logback 中. Spring Boot-日志配置超详细 默认日志 L ...
- SpringBoot整合+logback日志配置
本次演示的代码结构如下,基于maven,整合SpringBoot.Spring.Mybaits的SSM框架.同时测试logback日志框架的使用及配置. 1.创建maven工程,修改pom.xml文件 ...
- springboot深入学习(一)-----springboot核心、配置文件加载、日志配置
一.@SpringBootApplication @SpringBootApplication是spring boot的核心注解,源码如下: 相当于:@Configuration+@EnableAut ...
随机推荐
- Codeforces 1299B/1300D - Aerodynamic
题目大意: 给定一个图形S,让这个图形任意平移,但是要保证原点(0,0)一直在它的内部或者边上 最后把它能移动到的所有位置进行拼合可以得到一个图形T 问图形S与图形T是否相似 点会按照逆时针顺序给出 ...
- PyQt5Day03--程序基本结构之面向对象版本+控件学习
1.程序基本结构之面向对象版本 (1)开发阶段(自己写好并测试)——设置为模版qto from PyQt5.Qt import * class Window(QWidget): def __init_ ...
- 吴裕雄--天生自然 PHP开发学习:超级全局变量
<!DOCTYPE html> <html> <body> <?php $x = 75; $y = 25; function addition() { $GL ...
- Python-查找并保存特定字符串后面的字符串
-- -- 本算法用于查找并存储“特定字符串”后面的字符串. -- 举例: strli = "kaka is li is da is wei !" #用于查找的字符串 sep_li ...
- tkinter对话框和窗体
1.标准对话框(tkinter.messagebox) 常用标准对话框 tkinter.messagebox.askokcancel tkinter.messagebox.askquestiontki ...
- 主席树--动态区间第k小
主席树--动态区间第\(k\)小 模板题在这里洛谷2617. 先对几个问题做一个总结: 阅读本文需要有主席树的基础,也就是通过区间kth的模板题. 静态整体kth: sort一下找第k小,时间复杂度\ ...
- Java--定时
TimerTask task = new TimerTask() { @Override public void run() { // TODO Auto-generated method stub ...
- Java - 记录String中intern()方法的学习与理解
intern()方法:把堆中的引用丢入常量池中,然后返回这个引用.当常量池中已经存在这个引用,就直接返回这个引用.(jdk1.8) 由于jdk1.7中将字符串常量池改为存放在堆中,因此intern() ...
- 深入分析Java反射(六)-反射调用异常处理
前提 Java反射的API在JavaSE1.7的时候已经基本完善,但是本文编写的时候使用的是Oracle JDK11,因为JDK11对于sun包下的源码也上传了,可以直接通过IDE查看对应的源码和进行 ...
- Springboot项目绑定域名,使用Nginx配置Https
一.https 简介 HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HT ...