一、概述

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配置文件

最新文章

  1. 推荐一些python Beautiful Soup学习网址
  2. ypzl药品质量不合格数据库-excel自动排版
  3. Server Tomcat v7.0 Server at localhost was unable to&amp;nbs 报错问题解决
  4. JSP简单标签带属性开发
  5. H5标签-canvas实现颜色拾取功能
  6. php 安装xdebug扩展
  7. 如何用AndroidStudio导入github项目
  8. Navicat 看历史执行SQL
  9. C#使用SqlBulkCopy将DataTable写入数据库的表中(表不存在则创建新表,数据存在则更新,不存在则插入)
  10. PHP页面提示与跳转
  11. win10 UWP MessageDialog 和 ContentDialog
  12. css第三天
  13. node.js 框架express有关于router的运用
  14. Vue.js父与子组件之间传参
  15. 构建之法--初识Git
  16. 第一讲(3)osgearth编译
  17. python 拷贝 深拷贝 浅拷贝 赋值
  18. php排序学习之-冒泡排序
  19. Oracle ODP.NET vs Microsoft MSDP
  20. React组件,React和生命周期

热门文章

  1. Failed to load http://localhost:8080/team.php: Request header field x-jwt-header is not allowed by Access-Control-Allow-Headers in preflight response.
  2. 修改IP核参数
  3. 淡入淡出效果模板 js
  4. javascript (function() { /* code */ })() 自执行函数
  5. 李洪强经典面试题52-Block
  6. 李洪强漫谈iOS开发[C语言-003]-开发概述程序设计语言
  7. c++ what happens when a constructor throws an exception and leaves the object in an inconsistent state?
  8. mock调用返回值是void类型
  9. OSX: bash的更新
  10. error: not found: value sc