019-Spring Boot 日志
一、概述
spring-boot默认支持info级别的日志。
日志级别:trace、debug、info、warn、error、fatal、off【关闭】
二、配置日志级别
2.1、配置文件配置日志级别
在application.properties中添加
# logging.level.* 其中*表示包名 或者类名 root 表示所有
logging.level.root=DEBUG
能够打印出spring-boot的日志,以及用户自定义日志
具体指定某个类或包,其他未指定使用默认info级别
logging.level.com.lhx.spring.springboot.service.UserService=DEBUG
logging.level.com.lhx.spring.springboot.dao.UserDao=DEBUG
2.2、启动参数增加启动参数
--debug
能够打印出spring-boot的日志,不能打印用户自定义
2.3、在代码中
ConfigurableApplicationContext context = SpringApplication.run(App.class, "--debug=true");
能够打印出spring-boot的日志,不能打印用户自定义
三、文件输出
1、配置指定目录输出
logging.file=e:/tmp/my.log
2、配置日志目录【此时日志名spring.log】
logging.path=e:/tmp/logs
以上两种,日志文件输出,文件大小10M,自动分割
四、输出格式
4.1、控制台以及文件pattern
logging.pattern.console=%-(%d{yyyy-MM-dd} [%thread]) %-5level %logger{} - %msg%n
logging.file.console=%-(%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread]) %-5level %logger{} - %msg%n
五、spring日志分析
5.1、默认原生
查看可知,spring-boot使用logback输出日志文件
在resources中添加logback.xml或logback-spring.xml(spring推荐)文件如下即可
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="consolelog" class="ch.qos.logback.core.ConsoleAppender">
<layout>
<pattern>%-20(%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread]) %-5level
%logger{80} - %msg%n</pattern>
</layout>
</appender> <root level="DEBUG">
<appender-ref ref="consolelog" />
</root>
</configuration>
5.2、更换log4j2
在使用spring-boot-starter之中
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
默认已经添加了日志引用,应先排除
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
添加log4j2.pom配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
增加log4j2.xml获log4j2-spring.xml(spring推荐)配置文件
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appenders>
<Console name="console" target="SYSTEM_OUT" follow="true">
<PatternLayout
pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{80} - %msg%n" /> </Console>
</appenders>
<loggers>
<root level="DEBUG">
<appender-ref ref="console" />
</root>
</loggers>
</configuration>
程序使用即可
5.3、相关源码
查看spring-boot-1.5.9.RELEASE.jar包中,可以查看支持以下四种
org.springframework.boot.logging
org.springframework.boot.logging.java
org.springframework.boot.logging.log4j2
org.springframework.boot.logging.logback
在org.springframework.boot.logging 中查看日志级别org.springframework.boot.logging.LogLevel
public enum LogLevel {
TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF
}
配置项在:org.springframework.boot.logging.LoggingSystemProperties类中
在org.springframework.boot.logging.logback,查看default.xml 、base.xml、file-appender.xml、console-appender.xml配置文件
019-Spring Boot 日志的更多相关文章
- Springboot 系列(四)Spring Boot 日志框架
注意:本 Spring Boot 系列文章基于 Spring Boot 版本 v2.1.1.RELEASE 进行学习分析,版本不同可能会有细微差别. 前言 Spring 框架选择使用了 JCL 作为默 ...
- Spring Boot日志集成实战
Spring Boot日志框架 Spring Boot支持Java Util Logging,Log4j2,Lockback作为日志框架,如果你使用starters启动器,Spring Boot将使用 ...
- Spring Boot 日志配置
Spring Boot 日志配置 默认日志 Logback: 默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台.在运行应用程序和其他例子时,你应该已经看到很 ...
- Spring Boot 日志记录 SLF4J
Spring Boot 日志记录 SLF4J 2016年01月12日 09:25:28 阅读数:54086 在开发中打印内容,使用 System.out.println() 和 Log4j 应当是人人 ...
- Spring Boot日志集成
Spring Boot日志框架 Spring Boot支持Java Util Logging,Log4j2,Lockback作为日志框架,如果你使用starters启动器,Spring Boot将使用 ...
- 让你的spring-boot应用日志随心所欲--spring boot日志深入分析
1.spring boot日志概述 spring boot使用Commons Logging作为内部的日志系统,并且给Java Util Logging,Log4J2以及Logback都提供了默认的配 ...
- 54. spring boot日志升级篇—logback【从零开始学Spring Boot】
在<44. Spring Boot日志记录SLF4J>章节中有关相关的介绍,这里我们在深入的了解下logback框架. 为什么要使用logback ? --在开发中不建议使用System. ...
- 52. spring boot日志升级篇—log4j多环境不同日志级别的控制【从零开始学Spring Boot】
在上一章节中我们介绍了,仅通过log4j-spring.properties对日志级别进行控制,对于需要多环境部署的环境不是很方便,可能我们在开发环境大部分模块需要采用DEBUG级别,在测试环境可能需 ...
- 50. Spring Boot日志升级篇—log4j【从零开始学Spring Boot】
如果你使用的是spring boot 1.4.0版本的话,那么你可能需要配合以下文章进行学习 90.Spring Boot 1.4 使用log4j错误[从零开始学Spring Boot] Log4j是 ...
- Spring Boot日志使用
前言: 这是我第一次仔细研究Spring Boot相关的知识,就拿日志下手了,欢迎大家指点 Spring Boot日志关系 这个是Spring Boot的启动器,我们点击spring-boot-sta ...
随机推荐
- Atitit.得到网络邻居列表java php c#.net python
Atitit.得到网络邻居列表java php c#.net python 1. 获取workgroup net view /domain1 2. 得到网络邻居列表1 3. 得到机器的ip 通过p ...
- java过滤四字节和六字节特殊字符
java7版本中可以这样写: source.replaceAll("[\\ud800\\udc00-\\udbff\\udfff\\ud800-\\udfff]", "* ...
- iOS TableView索引字体大小设置
-(void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger ...
- Keil(MDK-ARM)使用教程(一)_界面+菜单
Ⅰ.概述 今天总结Keil(MDK-ARM)界面和菜单相关的内容,详情请往下看. 关于Keil的下载.安装和新建工程我已将在前面做了详细的总结,不懂的可以参考我博客里面相关的文章.该文章是在新建好工程 ...
- springMVC集成mybatis-paginator实现分页
mybatis-paginator下载地址:https://github.com/miemiedev/mybatis-paginator 1.引入maven依赖 <dependency> ...
- 2017 Wuhan University Programming Contest (Online Round) Lost in WHU 矩阵快速幂 一个无向图,求从1出发到达n最多经过T条边的方法数,边可以重复经过,到达n之后不可以再离开。
/** 题目:Lost in WHU 链接:https://oj.ejq.me/problem/26 题意:一个无向图,求从1出发到达n最多经过T条边的方法数,边可以重复经过,到达n之后不可以再离开. ...
- CF 482A(Diverse Permutation-相邻距离不同数为k的1~n全排列构造)
A. Diverse Permutation time limit per test 1 second memory limit per test 256 megabytes input standa ...
- c++标准库之thread
class thread是对线程的抽象.以下分别介绍thread是如何表示线程的大部分特征的. 执行体 线程的执行体由一个可执行(callable)对象来表示.这个执行体可以在thread创建的时候指 ...
- VC++通过API连接MySQL
1. 首先安装MySQL数据库server,本文安装的是mysql-installer-community-5.6.10.1.msi这个版本号.至于各个版本号有什么不同,不在这里说明. 例如以下的默 ...
- js金钱分割,正则
``` var test1 = '1234567890'var format = test1.replace(/\B(?=(\d{3})+(?!\d))/g, ',')"1,234,567, ...