爱美容
当前位置: 首页 美容百科

springboot支持哪些日志(SpringBoot日志快速上手简单配置)

时间:2023-06-02 作者: 小编 阅读量: 1 栏目名: 美容百科

一般不需要这个属性,而是直接在logback-spring.xml中使用springProfile配置,不需要logging.config指定不同环境使用不同配置文件<?--scantrue:配置文件如果发生改变,将会被重新加载,默认值为truescanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。默认的时间间隔为1分钟,当scan为true时,此属性生效。但可以使用设置成其他名字,用于区分不同应用程序的记录。

默认配置

日志级别从低到高分为:

TRACE < DEBUG < INFO < WARN < ERROR < FATAL。

如果设置为 INFO ,则低于 INFO 的信息都不会输出其他的依次类推

默认情况下,Spring Boot会用Logback来记录内部日志,并用INFO级别输出到控制台你不用做任何设置


从上图可以看到,日志输出内容元素具体如下:

自己程序添加日志基于类的方式

以后开发的时候,日志记录方法的调用,不应该来直接调用日志的实现类,而是调用日志抽象层里面的方法

这和我们单独使用日志jar包有所不同

package com.fashvn.ctmsdata.logtest;import org.slf4j.logger;import org.slf4j.LoggerFactory;public class LogTest {private static final Logger logger=LoggerFactory.getLogger(LogTest.class);public static void main(String[] args) {logger.error("简单的日志记录测试:{} {}={}",1,2,3);}}

基于注解方式

上面那种方式每次都要重复添加记录器那一行代码这里可以基于注解方式但是需要使用lombok前提你IDEA配置了lombok插件然后maven添加了lombok依赖才可以

package com.fashvn.ctmsdata.logtest;import lombok.extern.slf4j.Slf4j;@Slf4jpublic class LogTest {public static void main(String[] args) {log.error("简单的日志记录测试:{} {}={}", 1, 2, 3);}}

现在你就可以愉快的在自己程序了使用日志了

修改配置

您还可以通过启动您的应用程序 --debug 标志来启用“调试”模式(开发的时候推荐开启),以下两种方式皆可:

如何你的日志记录需求简单你可以通过springboot提供的属性进行日志的简单配置复杂日志记录功能需要单独定义配置文件

logging:# 将日志输出到文件 注意name和path同时使用只会生效后一个配置File:# 日志名称可以是相对路径和绝对路径name:#日志路径 可以是相对路径和绝对路径,帮我们自动生成spring.log的日志文件path:# 日志文件大小默认是10M单位是KBmax-size:# 每天切割打包日志的数量默认是7max-history:#日志格式pattern:#输出到日志文件日志格式file:#输出到控制台日志格式#%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}console:#时间格式 默认 yyyy-MM-dd HH:mm:ss.SSSdateformat:#日志等级对齐方式 默认%5p日志级别输出右对齐level:#切割文件名称 默认是${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz 如过单个日志文件超过定义的大小就切割打包rolling-file-name:#需要记录日志的等级level:# 根目录所以class日志记录等级root: debug# 自定义对应包下class 日志等级com.fashvn.ctmsdata: debug

自定义日志配置

根据不同的日志系统,你可以按如下规则组织配置文件名,就能被正确加载:

Spring Boot官方推荐优先使用带有-spring的文件名作为你的日志配置(如使用logback-spring.xml,而不是logback.xml),命名为logback-spring.xml的日志配置文件,spring boot可以为它添加一些spring boot特有的配置项

如果你即想完全掌控日志配置,但又不想用logback.xml作为Logback配置的名字,application.yml可以通过logging.config属性指定自定义的名字

logging.config=classpath:logging-config.xml

虽然一般并不需要改变配置文件的名字,但是如果你想针对不同运行时Profile使用不同的日志配置,这个功能会很有用。 一般不需要这个属性,而是直接在logback-spring.xml中使用springProfile配置,不需要logging.config指定不同环境使用不同配置文件

<?xml version="1.0" encoding="UTF-8"?><!--scan true:配置文件如果发生改变,将会被重新加载,默认值为truescanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。默认的时间间隔为1分钟,当scan为true时,此属性生效。debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false--><configuration scan="true" scanPeriod="60 seconds" debug="false"><!--设置上下文名称每个logger都关联到logger上下文,默认上下文名称为“default”。但可以使用设置成其他名字,用于区分不同应用程序的记录。一旦设置,不能修改,可以通过%contextName来打印日志上下文名称,一般来说我们不用这个属性,可有可无。--><contextName>logback-demo</contextName><!--设置变量用来定义变量值的标签, 有两个属性,name和value;其中name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义变量后,可以使“${}”来使用变量。--><property name="logback.logdir" value="/Users/inke/dev/log/tomcat"/><property name="logback.appname" value="app"/><!--appender用来格式化日志输出节点有俩个属性name和classclass用来指定哪种输出策略常用就是控制台输出策略和文件输出策略。--><!--输出到控制台 ConsoleAppender可以看到layout和encoder,都可以将事件转换为格式化后的日志记录,但是控制台输出使用layout,文件输出使用encoder,具体原因可以看https://blog.csdn.net/cw_hello1/article/details/51969554--><appender name="consoleLog1" ><!--展示格式 layout--><layout ><pattern>%d -1 %msg%n</pattern></layout></appender><!--输出到控制台 ConsoleAppender--><appender name="consoleLog2" ><encoder><pattern>%d -2 %msg%n</pattern></encoder></appender><!--输出到控制台 ConsoleAppender%d{HH: mm:ss.SSS}——日志输出时间%thread——输出日志的进程名字,这在Web应用以及异步任务处理中很有用%-5level——日志级别,并且使用5个字符靠左对齐%logger{36}——日志输出者的名字%msg——日志消息%n——平台的换行符ThresholdFilter为系统定义的拦截器,例如我们用ThresholdFilter来过滤掉ERROR级别以下的日志不输出到文件中。如果不用记得注释掉,不然你控制台会发现没日志~--><appender name="consoleLog3" ><!--展示格式 layout--><layout ><pattern><pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern></pattern></layout><!--<filter ><level>ERROR</level></filter>--></appender><appender name="fileInfoLog" ><!--如果只是想要 Info 级别的日志,只是过滤 info 还是会输出 Error 日志,因为 Error 的级别高,所以我们使用下面的策略,可以避免输出 Error 的日志--><!--只是不想要error其他都要--><filter ><!--过滤 Error--><level>ERROR</level><!--匹配到就禁止--><onMatch>DENY</onMatch><!--没有匹配到就允许--><onMismatch>ACCEPT</onMismatch></filter><!--日志名称,如果没有File 属性,那么只会使用FileNamePattern的文件路径规则如果同时有<File>和<FileNamePattern>,那么当天日志是<File>,明天会自动把今天的日志改名为今天的日期。即,<File> 的日志都是当天的。--><File>${logback.logdir}/info.${logback.appname}.log</File><!--滚动策略,按照时间滚动 TimeBasedRollingPolicy--><rollingPolicy ><!--文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间--><FileNamePattern>${logback.logdir}/info.${logback.appname}.%d{yyyy-MM-dd}.log</FileNamePattern><!--只保留最近90天的日志--><maxHistory>90</maxHistory><!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志--><!--<totalSizeCap>1GB</totalSizeCap>--></rollingPolicy><!--日志输出编码格式化--><encoder><charset>UTF-8</charset><pattern>%d [%thread] %-5level %logger{36} %line - %msg%n</pattern></encoder></appender><!--输出到文件另一种常见的日志输出到文件,随着应用的运行时间越来越长,日志也会增长的越来越多,将他们输出到同一个文件并非一个好办法。RollingFileAppender用于切分文件日志:--><appender name="fileErrorLog" ><!--如果只是想要 Error 级别的日志,那么需要过滤一下,默认是 info 级别的,ThresholdFilter--><filter ><level>Error</level></filter><!--日志名称,如果没有File 属性,那么只会使用FileNamePattern的文件路径规则如果同时有<File>和<FileNamePattern>,那么当天日志是<File>,明天会自动把今天的日志改名为今天的日期。即,<File> 的日志都是当天的。--><File>${logback.logdir}/error.${logback.appname}.log</File><!--滚动策略,按照时间滚动 TimeBasedRollingPolicy--><rollingPolicy ><!--文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间--><FileNamePattern>${logback.logdir}/error.${logback.appname}.%d{yyyy-MM-dd}.log</FileNamePattern><!--只保留最近90天的日志--><maxHistory>90</maxHistory><!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志--><!--<totalSizeCap>1GB</totalSizeCap>--></rollingPolicy><!--日志输出编码格式化--><encoder><charset>UTF-8</charset><pattern>%d [%thread] %-5level %logger{36} %line - %msg%n</pattern></encoder></appender><!--必选节点root节点是必选节点,用来指定最基础的日志输出级别,只有一个level属性。level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,不能设置为INHERITED或者同义词NULL。默认是DEBUG。可以包含零个或多个元素,标识这个appender将会添加到这个loger。--><!--指定最基础的日志输出级别--><root level="INFO"><!--appender将会添加到这个loger--><appender-ref ref="consoleLog1"/><appender-ref ref="consoleLog2"/><appender-ref ref="consoleLog3"/></root></configuration>

搜索公众号【Java耕耘者】点击小助理,即可获取大量优质电子书和一份Java高级架构资料、Spring源码分析、Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式等视频资料

    推荐阅读
  • 珠穆朗玛峰是地球最高的东西吗(珠穆朗玛峰上生活着什么动物)

    珠穆朗玛峰的气候非常恶劣,原因有几个。珠穆朗玛峰之巅的景象尽管条件恶劣,但在最高的山顶上,除了石头和雪之外,还可以找到植物和动物。因此,在珠穆朗玛峰上放缓步动物是理所当然的。由于条件过于恶劣,珠穆朗玛峰的山坡上只生长着苔藓,大约30种地衣,灌木和一些针叶树。不幸的是,珠穆朗玛峰上也有很多垃圾。因此,珠穆朗玛峰上的水真的很干净。

  • 武魂殿30级魂王(武魂殿强者身份证)

    现在漫迷为武魂殿的多名强者制作了身份证,千道流的魂环配置很抢眼,比比东拥有三大领域。千仞雪千仞雪恢复身份时还不到三十岁,但她的成就已经超越了很多魂师。月关的魂环配置很强,不过这在封号斗罗中极为常见。如此强大的配置,放眼整个斗罗大陆,都是数一数二的存在。千道流千道流身为武魂殿的大供奉,斗罗殿殿主,他的实力非常强悍,与唐晨、波塞西并称三大绝世斗罗,号称天空无敌。

  • 鲍鱼凤爪制作方法窍门(做凤爪的方法)

    接下来我们就一起去了解一下吧!鲍鱼凤爪制作方法窍门凤爪放入网锅主锅加水没过,5分钟50℃速5清洗。去血水浮沫,水龙头再冲洗干净。去粘腻污水,再冲洗干净,鲍鱼用薄淀粉水泡泽备用。清空主锅,放入油和大料3分钟120℃小勺爆香,然后放入凤爪生抽老抽蚝油料酒冰糖,20分钟/100℃/反转小勺,中间2秒反转速2.5颠勺。加入鲍鱼海参,5分钟/100℃/反转小勺,中间1秒反转速2.5颠勺即可装盘食用。

  • iPhonex支持无线充电多少w iphonex支持无线充电多少瓦

    虽然新iPhone和其它大多数手机采用的无线充电标准是Qi,而它的最新版本1.2版最大支持15W充电,而iPhone并没有采用最新版,而是选择了1.1版;据测试,在充满iPhoneX的2716mAh容量的电池,使用无线充电需要185分钟。iPhoneX操作系统使用iOS11,采用了AppleA11仿生处理器,拥有6个处理核心,属于高端版机型。其外观上采用了全新设计,搭载色彩锐利的OLED屏幕,并使用3D面部识别传感器,是iPhone的一款经典产品。

  • 二手本田crv有哪些缺点(同事4万买到二手本田CRV)

    本文要说的就是,同事4万买到二手本田CRV,修车师傅称底盘这点好,还赚了一台车。再有,虽然是2.0L的该车的动力依然非常强劲,当时的落地价高达27万,可谓是一台豪车级别的价格了。该车经过同事的一番检查,已经里里外外都确定了该车的状况。和高配2.4L发动机相比,这个发动机是单顶置凸轮轴,而且不带本田家的独门绝技i-VTEC。从声音上来看的话,本田CRV2.0L发动机的声音要比2.4L的匀称一些,好听一点。

  • 孕初期产检哪些内容(安全孕育小生命)

    安全孕育小生命孕妈妈发现自己怀孕后都是怎样的心情?有的人欣喜若狂,赶紧通知家人朋友;有的人喜极而泣,备孕之路实属不易;还有的人一脸懵:接下来我应该做什么呢?不少孕妈妈对孕期的产前检查项目不太了解,而按时产假恰恰是做。

  • 近几年的破产重组公司(百亿资产的大型企业集团破产重整怎么整)

    2018年到2019年,案件数量基本持平,2020年再次激增。从地域分布来看,160件案件中,发生在山东49件;江苏18件;其次是重庆和浙江;再次是河南、四川、辽宁。统计出有代表性的大型企业集团重整案件统计表。

  • 深圳观澜湖水上乐园亲子游(暑期遛娃去哪玩)

    不出深圳,在城市周边,就可以带着孩子开展丰富多彩,了解大自然的探索活动,重要的是避暑清凉;在莞深交汇处,深圳观澜海洋世界将迎来第一个暑假,自2021年10月开业即“爆红”,上榜dou音游玩人气榜,坐实“海底天城,鹏城网红”的身份,广受深圳和东莞市民的热爱。深圳观澜海洋世界位于国家级5A旅游景区观澜湖旅游度假区,总建筑面积约10000㎡,拥有近1000种海底生物,总投资3500万元。

  • 莲子银耳汤的做法(百合莲子银耳汤的做法)

    步骤1准备食材:莲子100克、银耳50克、红枣20克、枸杞10克、白糖10茶匙。步骤3银耳泡水撕小朵。步骤4红枣切片。步骤5枸杞洗净备用。步骤6首先在砂锅中倒入莲子、银耳,再加入适量清水大火煮沸,小火炖煮20分钟。步骤7然后在砂锅中放入红枣、枸杞继续炖煮10分钟。步骤8接着在锅中放入白糖拌匀调味。步骤9最后盛入碗中即可。