springBoot Logging 日志详解

文章目录

    • 日志格式
    • 控制台输出
        • 彩色编码输出
    • 文件输出
    • 文件级别
    • 自定义日志配置
    • Logback 扩展
        • profile 指定 配置文件
        • Environment 属性


springBoot 日志使用Commons Logging作为抽象层,并将具体实现开放,支持Java Util LoggingLog4j2Logback。loggers 默认配置为使用console 输出,也可以选择文件输出。

如果你使用 Starters,那日志系统默认使用Logback 。

Tip
Java 提供了很多日志框架。不要担心上面的这些令人困扰。总的来说,如果你不需要改变你的日志依赖,springBoot默认的日志配置就很合适。

日志格式

springBoot 默认的日志输出类似如下:

2014-03-05 10:57:51.112 INFO 45469 --- [ main] org.apache.catalina.core.StandardEngine :
Starting Servlet Engine: Apache Tomcat/7.0.52
2014-03-05 10:57:51.253 INFO 45469 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] :
Initializing Spring embedded WebApplicationContext
2014-03-05 10:57:51.253 INFO 45469 --- [ost-startStop-1] o.s.web.context.ContextLoader :
Root WebApplicationContext: initialization completed in 1358 ms
2014-03-05 10:57:51.698 INFO 45469 --- [ost-startStop-1] o.s.b.c.e.ServletRegistrationBean :
Mapping servlet: 'dispatcherServlet' to [/]
2014-03-05 10:57:51.702 INFO 45469 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean :
Mapping filter: 'hiddenHttpMethodFilter' to: [/*]

输出中包含下面这些项:

  • 日期和时间:精确到毫秒级,易于分类
  • 日志级别:ERROR、WARN、INFO、DEBUG 或 TRACE
  • 进程ID
  • :分割线,分割线之后是实际的日志消息
  • 线程名:中括号[] 包着
  • Logger 名:通常是源类名
  • 日志消息

Note
Logback 没有 FATAL 级别,对应着 ERROR

控制台输出

默认的日志配置是将消息输出到控制台。

默认配置下,只有ERROR WARN INFO级别的消息会被日志系统记录。你在运行你的应用时加个 --debug标志打开 debug 消息。

$ java -jar myapp.jar --debug

你也可以在配置文件中指定debug=true。

debug 模式打开后,一些核心的logger(内置的container、Hibernate、SpringBoot)会输出更多信息。

同样地,你也可以打开 trace 模式,方法同上!

彩色编码输出

如果你的终端支持 ANSI,彩色的输出会提供可读性。可以设置 spring.output.ansi.enabled 来改变默认的自动检测(detect)。

ALWAYS
开启彩色输出
DETECT
尝试检测ANSI 颜色是否支持
NEVER
关闭彩色输出

在这里插入图片描述

色彩编码用%clr转换词来配置。最简单的情势是根据日志级别进行色彩输出,例如:

%clr(%5p)

日志级别与色彩的映照以下:

LevelColor
FATALred
ERRORred
WARNyellow
INFOgreen
DEBUGgreen
TRACEgreen

或,你可以通过在转换器中提供选项来指定应当试用的色彩或风格。例如,为了使文本显示黄色:

%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){yellow}

支持下面的色彩和风格:

blue
cyan
faint
green
magenta
red
yellow

文件输出

如果你想要写日志文件,你需要设置属性:logging.filelogging.path

两个属性的组合使用,情况如下:

logging.filelogging.file举例说明
nonenone只在控制台输出
指定文件nonemy.log写到相对目录下的指定文件
none指定目录/var/log指定绝对路径下的spring.log

当日志文件到达10Mb时会循环保存。文件的大小限制可通过logging.file.max-size属性设置。之前保存的日志文件会无限期存档,除非配置logging.file.max-history属性。

Note
日志系统在应用程序生命周期的早期被初始化。因此,日志的属性在通过@PropertySource加载的属性文件中找不到。

Tip
日志属性独立于真实的日志基础架构以外。因此,Spring Boot不管理特定的配置主键(例如Logback的logback.configurationFile)。

文件级别

Spring支持的所有日志系统都可以在Spring的Environment中设置日志级别(例如在application.properties设置),使用logging.level.=进行设置,LEVEL是TRACE,DEBUG,INFO,WARN,ERROR,FATAL,OFF中的1个。root日志器可以用logging.level.root来配置。例如在application.properties中:

logging.level.root=WARN
logging.level.org.springframework.web=DEBUG
logginglevelorghibernate=ERROR

自定义日志配置

springBoot的自动配置会检测类路径的类库来自动激活相应的日志系统,在类路径的根目录中提供一个适合的配置文件可以对日志系统进行更进一步的定制,配置文件的路径也可以通过属性:logging.config来指定。

你可以使用org.springframework.boot.logging.LoggingSystem属性来强制Spring boot使用一个特殊的日志系统。这个值应该是日志系统具体实现的全限定类名。你也可以将这个值设置为none,表示完全关闭日志配置。

取决于你的日志系统,会加载以下文件:

Logging SystemCustomization
Logbacklogback-spring.xml, logbackspring.groovy, logback.xml, or logback.groovy
Log4j2log4j2-spring.xml or log4j2.xml
Java.util.logginglogging.properties

下表介绍了一些属性(从Spring Environment中转移到 系统属性):

Spring Environment系统属性说明
logging.exception-conversion-wordLOG_EXCEPTION_CONVERSION
logging-fileLOG_FILE日志文件名
logging.file.max-sizeLOG_FILE_MAX_SIZE日志文件的最大容量
logging.file.max-historyLOG_FILE_MAX_HISTORY日志文件的最长保存时间
logging.pathLOG_PATH日志文件保存路径
logging.pattern.consoleCONSOLE_LOG_PATTERN使用控制台输出的日志模式
logging.pattern.dateformatLOG_DATEFORMAT_PATTERN日志时间格式
logging.pattern.fileFILE_LOG_PATTERN日志文件中日志的模式
logging.pattern.levelLOG_LEVEL_PATTERN在渲染日志级别时的格式
PIDPID当前的进程ID

当转换配置文件时,所有的日志系统都支持查询系统属性。可以看看spring-boot.jar中的配置样例:
+ Logback
+ Log4j2
+ Java.util.logging

Logback 扩展

Spring Boot包含了许多可以帮助进行高级配置的Logback扩展。你可以在你的 logback-spring.xml配置文件中使用这些扩展。

Note
由于标准的logback.xml配置文件加载的太早,所以你不能在里面使用扩展部分。你需要使用logback-spring.xml或者通过logging.config自定义

profile 指定 配置文件

标签让你基于激活的springProfile来include配置。

<springProfile name="staging">
<!-- configuration to be enabled when the "staging" profile is active -->
</springProfile>
<springProfile name="dev, staging">
<!-- configuration to be enabled when the "dev" or "staging" profiles are active -->
</springProfile>
<springProfile name="!production">
<!-- configuration to be enabled when the "production" profile is not active -->
</springProfile>

Environment 属性

标签让你将spring environment中的属性暴露给Logback使用。如果你想在你的Logback配置中访问application.properties文件中的属性,这是非常有用的。这个标签与Logback的标准标签的作用方式类似,但不是为你指定的source属性(从Environment中)指定1个直接的value。如果你需要在某个地方而不是在local作用域中存储属性,你可使用scope属性。如果你需要一个备用值以防属性没有在Environment中设置,你可使用defaultValue属性。

<springProperty scope="context" name="fluentHost" source="myapp.fluentd.host"
defaultValue="localhost"/>
<appender name="FLUENT" class="ch.qos.logback.more.appenders.DataFluentAppender">
<remoteHost>${fluentHost}</remoteHost>
...
</appender>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/555730.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机应用电子技术课程,中专计算机应用有什么课程

中专计算机应用有什么课程2020-10-29 16:40:11文/董玉莹计算机应用学习研究计算机应用于各个领域的理论、方法、技术和系统等&#xff0c;是计算机学科与其他学科相结合的边缘学科&#xff0c;是计算机学科的组成部分。计算机应用是对在社会活动中的如何参与和实施给予方针指导…

Spring Boot 配置日志输出等级

Spring boot 默认使用 logback作进行日志输出。 有两种方式一个是通过application.properties 配置文件的方式来配置。 另一种是通过logback.xml配置文件的方式进行配置。 首先要说的是:application.properties 和logback.xml这两个配置文件都是放在 src/main/resources 目录…

springboot如何使用log4j记录日志

文章目录导入依赖1、去掉slf4j的依赖2、引入log4j的依赖创建log4j.properties导入依赖 因为springboot的启动依赖会引入SLF4J的日志依赖&#xff0c;因此想要用log4j&#xff0c;就要先把slf4j的依赖去掉&#xff0c;然后再引入log4j的启动依赖。 1、去掉slf4j的依赖 网上有…

在SpringBoot中使用slf4j与logbak

本次开发环境为&#xff1a; 系统&#xff1a;Windows 10 JDK&#xff1a;1.8 开发工具&#xff1a;IntelliJ IDEA springboot框架&#xff1a;2.X.X 日志设置参考官方文档https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boo…

站酷用HTML5播放视频,站酷:动效展示实践的问题及解决

前两天设计一款主页&#xff0c;想给它加上一些操作演示&#xff0c;于是便自己琢磨如何实现。先上效果图&#xff1a;首先&#xff0c;是界面设计的部分&#xff1a;需求是针对现有的网站做移动端的展示。针对门户网站的性质&#xff0c;以及对象的行业特性&#xff0c;将首页…

SpringBoot ——Spring Boot日志配置

Spring Boot 采用了 slf4jlogback 的组合形式&#xff0c;Spring Boot也提供对JUL、log4j2、Logback提供了默认配置 1、默认日志配置 修改日志默认级别 2、修改日志默认配置 修改日志文件生成路径 ​ ​ 修改日志输出格式 ​ 3、日志底层实现 在web项目中&#xff0c…

手机计算机数字显示在桌面上,手机桌面上的应用如何取消显示的数字角标

手机桌面上的应用如何取消显示的数字角标很多小伙伴都还不知道&#xff0c;下面IEfans小编为大家整理了取消显示的数字角标的流程一览&#xff0c;怎么取消显示的数字角标&#xff0c;一起来看看吧!方法/步骤分享&#xff1a;1、首先&#xff0c;点击手机桌面上的【设置】&…

SpringBoot日志配置

SpringBoot日志配置 1.Spring Boot默认日志框架 Spring Boot默认使用LogBack日志系统&#xff0c;如果不需要更改为其他日志系统如Log4j2等&#xff0c;则无需多余的配置&#xff0c;LogBack默认将日志打印到控制台上。如果要使用LogBack&#xff0c;原则上是需要添加depende…

上证50基金有哪些_定投基金(易方达上证50指数A)

今天小编想要推荐的基金是定投基金(易方达上证50指数A)(数据信息来源&#xff1a;天天基金网)一、基金的概况二、投资范围本基金的股票投资部分主要投资于标的指数的成分股票,包括上证50指数的成分股和预期将要被选入上证50指数的股票,还可适当投资一级市场申购的股票(包括新股…

Spring Boot 日志配置(超详细)

Spring Boot-日志配置(超详细) 更新日志&#xff1a; 20170810 更新通过 application.yml传递参数到 logback 中。 简书不支持目录&#xff0c;截图一张。 默认日志 Logback&#xff1a; 默认情况下&#xff0c;Spring Boot会用Logback来记录日志&#xff0c;并用INFO级别…

网络中的计算机如果加入家庭组,win10系统加入其他计算机家庭组的操作方法

很多小伙伴都遇到过对win10系统加入其他计算机家庭组进行设置的困惑吧&#xff0c;一些朋友看过网上对win10系统加入其他计算机家庭组设置的零散处理方法&#xff0c;并没有完完全全明白win10系统加入其他计算机家庭组的操作方法非常简单&#xff0c;只需要1、打开“此电脑”&a…

jmstemplate 获取队列id_学习Linux(38)消息队列

消息队列、共享内存 和 信号量 被统称为 system-V IPC&#xff0c;V 是罗马数字 5&#xff0c;是 Unix 的AT&T 分支的其中一个版本&#xff0c;一般习惯称呼他们为 IPC 对象&#xff0c;这些对象的操作接口都比较类似&#xff0c;在系统中他们都使用一种叫做 key 的键值来唯…

ad软件one pin错误是啥意思_Unity3D 4.5 软件安装教程

Unity3D 4.5 软件安装教程01Unity3D 4.5软件介绍【软件名称】&#xff1a;Unity3D 4.5【安装环境】&#xff1a;WindowsUnity3D 4.5是unity系列软件的版本&#xff0c;也是一款跨平台的计算机游戏开发环境&#xff0c;能够允许用户创建在20多种不同操作系统上运行的应用程序&am…

项目构建之springboot集成lomback.xml,和log4j基于properties方式的日志配置记录

文章目录springboot集成lomback.xml 描述在yml中定义的一些配置信息创建logback-spring.xml文件logback-spring.xml配置如下&#xff1a;**log4j入门配置****详细介绍配置信息的&#xff1a;****自动清理导出的日志文件**springboot集成lomback.xml 描述 首先在resouces目录下…

计算机里什么文件无法删除,电脑上的文件删不掉怎么办

电脑上的文件删不掉怎么办如果你遇到删不掉的文件,会有“无发删除&#xff0c;磁盘未写保护或者程序正被另一个人使用中”提示。这时候该怎么办呢&#xff1f;文件出现正常方法删不走的文件&#xff0c;有几种原因。1)文件受损&#xff0c;出现异常2)文件被使用中。例如该文件打…

php编写六十甲子纳音表_六十甲子纳音表详细说明,看看你属于什么命,属于那个颜色...

六十甲子纳音表详细说明 &#xff0c;六十甲子与五行十二生肖的对应关系。1、甲子乙丑海中金&#xff0c;白&#xff0c;此年生人&#xff0c;是海中金命&#xff0c;属相是白鼠和白牛  2、丙寅丁卯炉中火&#xff0c;红&#xff0c;此年生人&#xff0c;是炉中火命&#xff…

hcl启动设备失败_英林储罐清洗设备清洗公司2021收费

英林储罐清洗设备清洗公司2021收费泉州市骏泰机电工程有限公司是拥有资质的工业清洗企业&#xff0c;从事工业机械设备清洗、空调清洗清洁、换热器清洗清洁、冷凝器清洗清洁、设备清洗、化学清洗、锅炉清洗、燃气锅炉清洗、电锅炉清洗、锅炉碱洗、锅炉酸洗、锅炉预膜、工业清洗…

SpringBoot与日志配置

前言&#xff1a; 前文我们介绍了配置文件的原理还有如果切换配置文件的环境,个人觉得归纳为一手册&#xff0c;要用的时候查一下就好了。不然记那么多挺麻烦的。。 1.日志 1、日志框架 老生常谈&#xff0c;什么是日志&#xff1b;我们平时用System.out.println(“xxxxxx”…

什么叫缺位_一位父亲能够给予孩子的最好礼物是什么?看看这部电影给出的答案...

作者&#xff1a;流云艺朵原创作品&#xff0c;欢迎个人转载分享。一般而言&#xff0c;在一个普通有子女的家庭里&#xff0c;父亲和母亲对于孩子来说都是这个世界上最亲近的人&#xff0c;最熟悉的人&#xff0c;最依赖的人。可是如果稍微留意一下网络中各种有关养育孩子&…

轴只显示5个刻度_告别大象腿,迎接魅力美腿,变身女王你只需5个方法

告别大象腿&#xff0c;迎接魅力美腿&#xff0c;变身女王你只需5个方法&#xff01;第一个方法&#xff1a;仰卧抬腿仰卧抬腿可以帮助你练出美腿&#xff0c;这个动作可以迅速燃烧你的脂肪&#xff0c;并且让你的腿部变得紧致有弹性、修长有线条&#xff0c;那我们又要怎么进行…