一、概述

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 日志的更多相关文章

  1. Springboot 系列(四)Spring Boot 日志框架

    注意:本 Spring Boot 系列文章基于 Spring Boot 版本 v2.1.1.RELEASE 进行学习分析,版本不同可能会有细微差别. 前言 Spring 框架选择使用了 JCL 作为默 ...

  2. Spring Boot日志集成实战

    Spring Boot日志框架 Spring Boot支持Java Util Logging,Log4j2,Lockback作为日志框架,如果你使用starters启动器,Spring Boot将使用 ...

  3. Spring Boot 日志配置

    Spring Boot 日志配置 默认日志 Logback: 默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台.在运行应用程序和其他例子时,你应该已经看到很 ...

  4. Spring Boot 日志记录 SLF4J

    Spring Boot 日志记录 SLF4J 2016年01月12日 09:25:28 阅读数:54086 在开发中打印内容,使用 System.out.println() 和 Log4j 应当是人人 ...

  5. Spring Boot日志集成

    Spring Boot日志框架 Spring Boot支持Java Util Logging,Log4j2,Lockback作为日志框架,如果你使用starters启动器,Spring Boot将使用 ...

  6. 让你的spring-boot应用日志随心所欲--spring boot日志深入分析

    1.spring boot日志概述 spring boot使用Commons Logging作为内部的日志系统,并且给Java Util Logging,Log4J2以及Logback都提供了默认的配 ...

  7. 54. spring boot日志升级篇—logback【从零开始学Spring Boot】

    在<44. Spring Boot日志记录SLF4J>章节中有关相关的介绍,这里我们在深入的了解下logback框架. 为什么要使用logback ? --在开发中不建议使用System. ...

  8. 52. spring boot日志升级篇—log4j多环境不同日志级别的控制【从零开始学Spring Boot】

    在上一章节中我们介绍了,仅通过log4j-spring.properties对日志级别进行控制,对于需要多环境部署的环境不是很方便,可能我们在开发环境大部分模块需要采用DEBUG级别,在测试环境可能需 ...

  9. 50. Spring Boot日志升级篇—log4j【从零开始学Spring Boot】

    如果你使用的是spring boot 1.4.0版本的话,那么你可能需要配合以下文章进行学习 90.Spring Boot 1.4 使用log4j错误[从零开始学Spring Boot] Log4j是 ...

  10. Spring Boot日志使用

    前言: 这是我第一次仔细研究Spring Boot相关的知识,就拿日志下手了,欢迎大家指点 Spring Boot日志关系 这个是Spring Boot的启动器,我们点击spring-boot-sta ...

随机推荐

  1. SpringCloud系列十二:手动创建Feign

    1. 回顾 上文讲解了自定义Feign.但是在某些场景下,前文自定义Feign的方式满足不了需求,此时可使用Feign Builder API手动创建Feign. 本文围绕以下场景,为大家讲解如何手动 ...

  2. Mybatis学习-1(转自 csdn- http://my.csdn.net/hupanfeng 的文章)

    简介 MyBatis的前身叫iBatis,本是apache的一个开源项目, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBa ...

  3. Notes from Data Guard

    There are two types of Standby databases: 1, Physical standby database block-for-block basis the phy ...

  4. html5_websocket_tomcat8

    目录 前言 后端 浏览器前端 java的client 注意 前言 HTML5 WebSocket实现了服务器与浏览器的双向通讯,开销小,实时性高,常用于即时通讯和对信息实时性要求比较高的应用. 下面讲 ...

  5. php 结合md5的加密,解密方法

    php 结合md5的加密,解密方法 张映 发表于 2012-06-28 分类目录: php 标签:md5, php 最近在整理代码发现了一个不错的东西,结合md5的加解密算法.网上关于php结合md5 ...

  6. Extjs中设置只读的样式问题

    废话不多说,直接上代码:   view.down('#imageFile').hide(); view.down('#save_button').hide(); view.show(); view.d ...

  7. RPMforge(Repoforge)源

    centos使用rpmforge-release 时间:2017-10-09 09:48:29      阅读:536      评论:0      收藏:0      [点我收藏+] 标签:rpmf ...

  8. English 好的报纸

    1. 高级阶段 China daily: ( 带有官方色彩 ) www.chinadaily.com.cn 2. econnomist ( 经济人报 ) www.econnomist.com

  9. HTML5实现端访问时禁止放大和缩小网页

    <title>html5禁止和移动.缩放网页</title><meta name="viewport" content="width=dev ...

  10. Cocos2dx 场景切换动画

    1.http://www.cnblogs.com/linux-ios/archive/2013/04/09/3009292.html