说明:Spring Boot在最新的版本中默认使用了logback框架。一般来说使用时只需在classpath下创建logback.xml即可,而官方推荐使用logback-spring.xml替代,效果更好,并且官方的application.properties文件也可以配置,但是选项较少。

logback.xml文件参考:http://www.cnblogs.com/EasonJim/p/7801231.html

application.properties文件参考:

logging.config = #记录配置文件的位置。例如Logback的`classpath:logback.xml`
logging.exception-conversion-word =%wEx #记录异常时使用的转换字。
logging.file =#日志文件名称。例如`myapp.log`
logging.level.* = #日志级别严重性映射。例如`logging.level.org.springframework = DEBUG`
logging.path = #日志文件的位置。例如`/var/log`
logging.pattern.console = #输出到控制台的Appender模式。仅支持默认的登录设置。
logging.pattern.file = #输出到文件的Appender模式。仅支持默认的登录设置。
logging.pattern.level = #日志级别的Appender模式(默认%5p)。仅支持默认的登录设置。
logging.register-shutdown-hook = false#初始化时为日志系统注册一个关闭钩子

通过启动参数设置:

Spring的配置(可以通过启动是--xxx指定) 系统属性(可以通过启动是-Dxxx指定) 注释

logging.exception-conversion-word

LOG_EXCEPTION_CONVERSION_WORD

记录异常时使用的转换字。

logging.file

LOG_FILE

用于默认日志配置(如果已定义)。

logging.path

LOG_PATH

用于默认日志配置(如果已定义)。

logging.pattern.console

CONSOLE_LOG_PATTERN

在控制台上使用的日志模式(stdout)。(仅支持默认的登录设置。)

logging.pattern.file

FILE_LOG_PATTERN

在文件中使用的日志模式(如果启用LOG_FILE)。(仅支持默认的登录设置。)

logging.pattern.level

LOG_LEVEL_PATTERN

用于呈现日志级别的格式(默认%5p)。(仅支持默认的登录设置。)

PID

PID

当前的进程ID(如果可能,还没有被定义为OS环境变量时发现)。

说明:上面表格可以通过properties指定,也可以通过启动参考--xxx指定,同时也支持系统属性-Dxxx启动时指定。

配置技巧:

1、logging.config=classpath:logback-boot.xml,可以指定xml的配置文件,但是不要使用logback.xml,因为logback.xml的加载早于application.properties。

2、默认情况下,spring boot从控制台打印出来的日志级别只有ERROR, WARN 还有INFO,如果你想要打印debug级别的日志,可以通过application.properites配置debug=true,也可以这样指定java -jar C:\Users\Administrator\Desktop\xx\demo.jar --debug

配置项参考:

logging.level.root=INFO
logging.level.org.springframework.web=DEBUG
logging.level.org.hibernate=ERROR

3、默认情况下spring boot是不将日志输出到日志文件中,但你可以通过在application.properites文件中配置logging.file文件名称和logging.path文件路径,将日志输出到文件中。

配置项参考:

logging.path=F:\\demo
logging.file=demo.log
logging.level.root=info

4、logging.path与logging.file的配置注意事项

  • 里若不配置具体的包的日志级别,日志文件信息将为空
  • 若只配置logging.path,那么将会在F:\demo文件夹生成一个日志文件为spring.log(ps:该文件名是固定的,不能更改)。如果path路径不存在,会自动创建该文件夹
  • 若只配置logging.file,那将会在项目的当前路径下生成一个demo.log日志文件。这里可以使用绝对路径如,会自动在e盘下创建文件夹和相应的日志文件。
    logging.file=e:\\demo\\demo.log
  • logging.path和logging.file同时配置,不会在这个路径有F:\demo\demo.log日志生成,logging.path和logging.file不会进行叠加(要注意)
  • logging.path和logging.file的value都可以是相对路径或者绝对路径

参考:

https://docs.spring.io/spring-boot/docs/1.5.7.RELEASE/reference/htmlsingle/#boot-features-custom-log-configuration(官方配置文件)

http://www.cnblogs.com/lixuwu/p/5804793.html(以上部分内容转自此篇文章)

http://blog.csdn.net/lu1005287365/article/details/53382283

http://blog.csdn.net/sun_t89/article/details/52130839

https://springframework.guru/using-logback-spring-boot/

Spring Boot中使用logback日志框架的更多相关文章

  1. Spring Boot 学习摘要--关于日志框架

    date: 2020-01-05 16:20:00 updated: 2020-01-08 15:50:00 Spring Boot 学习摘要--关于日志框架 学习教程来自:B站 尚硅谷 1. 关于日 ...

  2. Spring Boot中实现logback多环境日志配置

    在Spring Boot中,可以在logback.xml中的springProfile标签中定义多个环境logback.xml: <springProfile name="produc ...

  3. Spring Boot笔记四:日志框架介绍

    我是一名程序员,我喜欢写System.out.println来打印一些重要的信息...后来我学了面向对象,我把这些输出语句整合到了一个工具类里面,可以打印,也可以保存日志. 我是一名积极思考的程序员, ...

  4. spring boot中的日志入门

    日志通常不会在需求阶段作为一个功能单独提出来,也不会在产品方案中看到它的细节.但是,这丝毫不影响它在任何一个系统中的重要地位. 报警系统与日志系统的关系 为了保证服务的高可用,发现问题一定要及时,定位 ...

  5. Spring boot使用log4j打印日志

    先将maven中spring-boot-starter的日志spring-boot-starter-logging去掉 <dependency> <groupId>org.sp ...

  6. spring boot 中AOP的使用

    一.AOP统一处理请求日志 也谈AOP 1.AOP是一种编程范式 2.与语言无关,是一种程序设计思想 面向切面(AOP)Aspect Oriented Programming 面向对象(OOP)Obj ...

  7. Spring Boot系列一:默认日志logback配置解析

    前言 今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候,是带着下面几个问题来查资料的,你呢 如何引入日志? 日志输出格式以及输出方式如何配置? 代码中如何使用? 正文 Sp ...

  8. 46. Spring Boot中使用AOP统一处理Web请求日志

    在之前一系列的文章中都是提供了全部的代码,在之后的文章中就提供核心的代码进行讲解.有什么问题大家可以给我留言或者加我QQ,进行咨询. AOP为Aspect Oriented Programming的缩 ...

  9. Spring Boot 使用 Log4j2 & Logback 输出日志到 EKL

    文章目录 1.ELK 介绍 2.环境.软件准备 3.ELK 环境搭建 4.Spring Boot 配置示例 4.1.Log4j2 方式配置 4.2.Logback 方式配置 1.ELK 介绍 ELK ...

随机推荐

  1. ubuntu 安装 pcap

    最近在做负载均衡配置,希望将多个dhcp服务配置成一个虚拟dhcp地址,实现dhcp服务高可用.然而配置完成后却发现一个问题,该如何测试呢. 因此就要用上python了,然后ubuntu下面用pip ...

  2. 应用程序员眼中的数据库管理系统:API+数据库语言

    应用程序员眼中的数据库管理系统:API+数据库语言 sqlite3_open_v2 https://www.cnblogs.com/cchust/p/5121559.html

  3. ecpg - 嵌入的 SQL C 预处理器

    SYNOPSIS ecpg [ option...] file... DESCRIPTION 描述 ecpg 是一个嵌入的用于C 语言的 SQL 预编译器. 它把嵌有 SQL 语句的 C 程序通过将 ...

  4. docker存储管理

    Docker 镜像的元数据 repository元数据 repository在本地的持久化文件存放于/var/lib/docker/image/overlay2/repositories.json中 ...

  5. QT_1

    QT概述 1.1 QT 是一个跨平台的C++图形用户界面应用程序框架 1.2 发展史: 1991奇趣科技 1.3 QT 版本:商业版.开源版 1.4 优点: 1.4.1 跨平台 1.4.2 接口简单 ...

  6. PHP03 移动互联网和PHP

    学习要点 移动互联网 云计算 网络通信协议 Apache http服务器 PHP运行原理 学习目标 理解网络通信协议 掌握PHP运行原理 WAMP开发环境的搭建   移动互联网 定义 移动互联网,就是 ...

  7. Linux的Network Tunnel技术

    Linux的Network Tunnel技术 概要 Linux上可以使用ip tunnel命令创建多种类型的tunnel. 在 man ip-tunnel 中可以得知以下几种类型的tunnel: MO ...

  8. win10 配置系统默认utf-8编码

    win10 配置系统默认utf-8编码 系统  win10 配置系统默认utf-8编码 Windows系统默认字符编码为gbk编码,开发项目编码一般为UTF-8,在我们执行程序及进行程序编码过程中编码 ...

  9. 基于selenium爬取拉勾网职位信息

    1.selenium Selenium 本是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.而这一特性为爬虫开发提供了一个选择及方向,由于其本身依赖 ...

  10. Python 装饰器 property() 函数

    描述:property() 函数的作用是在新式类中返回属性值. @property 装饰器简单理解就是负责把一个方法变成属性调用 下面理解property()方法语法: class property( ...