说明: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. Socket网络编程初探

    http://altboy.blog.51cto.com/5440160/1921720 客户端/服务器架构 即C/S架构,其实web服务在某种意义上也算是C/S架构 一个特点是服务器端持续运行对外提 ...

  2. 基于Zabbix API文档二次开发与java接口封装

    (继续贴一篇之前工作期间写的经验案例) 一.           案例背景 我负责开发过一个平台的监控报警模块,基于zabbix实现,需要对zabbix进行二次开发. Zabbix官方提供了Rest ...

  3. 运行外部exe

    bool CFileOperate::lauchCAD() { //启动ZWCAD CString OutputPath; STARTUPINFO si; //一些必备参数设置 memset(& ...

  4. Codeforces Round #555 (Div. 3) 解题报告

    A.Reachable Numbers 题意: 给定操作f(x):将x加1,删去得到的数的所有末尾0,如f(10099)=10099+1=10100→1010→101.现在给定一个数n,对n进行无限次 ...

  5. Java中的枚举--Enumeration

    之前并没有注意到枚举这个知识点,因为之前在项目中并没有使用过枚举,可能是项目并不是很复杂的原因吧,今天看张孝祥老师的讲解,觉得,这个枚举真的有很多值得学习的地方,探究一下枚举的设计原理,底层到底是怎么 ...

  6. 关于DTCC数据库技术大会

    本次DTCC数据库技术大会是第9届了,这次大会虽然有不少公司的产品推介,总体来说还是有不少干货的. 专场较多,有选择地主要听了大数据实践跟流式计算这块.网易跟滴滴的分享比较不错. 了解到了现在大家是用 ...

  7. ibatis 实现 物理级别的 分页 兼容多种数据库(转载)

    最近在看iBatis时,想做用动态Sql做个分布.因为在做项目时用iBator工具生成没有分页的功能,只有一些我们常用的功能.所以要对生成后的代码做修改.我在Java高手真经的一书中看到有做了MySq ...

  8. CodeForces - 1105D Kilani and the Game(多源BFS+暴力)

    题目: 给出一张游戏地图和每个玩家的位置,每次能移动的步数.p个玩家轮流移动占领地图中的格子(当格子已经被占领时就不能在占领了)在每个玩家都不能移动时游戏结束. 问在游戏结束后,每个玩家占领的格子的数 ...

  9. Linux 特殊指令总结(持续更新)

    Linux 命令 1. 查看系统信息 1.uname uname (1) - print system information uname (2) - get name and information ...

  10. Go:获取命令行参数

    一.Low B 方式 package main import ( "fmt" "os" ) func main() { fmt.Println("命令 ...