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 ...
随机推荐
- vue 结合localStorage 来双向绑定数据
结合localStorage 来双向绑定数据(超级神奇) localStorage.js: const STORAGE_KEY = 'todos_vuejs' export default { fet ...
- Atitit.常用语言的常用内部api 以及API兼容性对源码级别可移植的重要性 总结
Atitit.常用语言的常用内部api 以及API兼容性对源码级别可移植的重要性 总结 1.1. 要兼容的重要语言api1 1.2. 常用基础api分类 core api1 1.3. 比较常用的扩展库 ...
- 串行 RapidIO
https://wenku.baidu.com/view/78666616cf84b9d528ea7ad9.html
- mongodb 实现关系型数据库中查询某一列 的效果
近期在tornado\mongodb\ansible mongodb中有个find()方法非常牛逼,能够将集合中全部的表都传出来,一開始我这么写 class Module_actionHandler( ...
- 如何获取UA
function whatBrowser() { document.Browser.Name.value=navigator.appName; document.Browser.Version.val ...
- Who's in the Middle - poj 2388 (快速排序寻找中位数)
题意; 寻找中位数 利用快速排序来寻找中位数. #include <iostream> using namespace std; int N; ]; int Median(int left ...
- Java基础06 组合(转载)
在一个新类的定义中使用其他对象.这就是组合(composition).组合是在Java中实现程序复用(reusibility)的基本手段之一. 组合与"has-a" 一个对象是 ...
- 如何利用Emacs进行个人时间管理(GTD)
1. 简介 1.1 什么是GTD Get Things Done(GTD),是一套时间管理方法,面对生活中如下情况: 有很多事情要做 每件事情有主次之分 个人精力有限 我们需要随时很方便的了解我们下一 ...
- js array filter pop push shift unshift方法
JavaScript Array filter() 方法 JavaScript Array 对象 实例 返回数组 ages 中所有元素都大于 18 的元素: var ages = [32, 33, ...
- ssl 生成证书
使用OpenSSL生成证书 1.生成RSA密钥的方法 openssl genrsa -des3 -out privkey.pem 2048 这个命令会生成一个2048位的密钥,同时有一个des3方法加 ...