iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Spring Boot日志控制的示例分析
  • 403
分享到

Spring Boot日志控制的示例分析

springboot 2023-05-30 22:05:15 403人浏览 安东尼
摘要

这篇文章将为大家详细讲解有关Spring Boot日志控制的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。spring Boot对日志的处理,和我们平时的日志处理完全一致,通过logback.xm

这篇文章将为大家详细讲解有关Spring Boot日志控制的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

spring Boot对日志的处理,和我们平时的日志处理完全一致,通过logback.xml进行日志管理功能。为了简便,这里采用“Spring Boot构建框架”一章节使用的工程,讲述如何在Spring Boot中处理日志。

第一步,虽然Spring Boot中application.properties配置文件提供了日志的配置,但是个人更倾向于旧的配置方式。在src/main/resources目录中增加logback.xml日志文件,文件内容如下(配置相对简单,个人请根据工程情况,进行相应的配置):

<configuration scan="true" scanPeriod="10 seconds">  <include resource="org/springframework/boot/logging/logback/base.xml" />  <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">    <File>${LOG_PATH}/info.log</File>    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">      <fileNamePattern>${LOG_PATH}/info-%d{yyyyMMdd}.log.%i      </fileNamePattern>      <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">        <maxFileSize>500MB</maxFileSize>      </timeBasedFileNamingAndTriggeringPolicy>      <maxHistory>2</maxHistory>    </rollingPolicy>    <layout class="ch.qos.logback.classic.PatternLayout">      <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n      </Pattern>    </layout>  </appender>  <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">      <level>ERROR</level>    </filter>    <File>${LOG_PATH}/error.log</File>    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">      <fileNamePattern>${LOG_PATH}/error-%d{yyyyMMdd}.log.%i      </fileNamePattern>      <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">        <maxFileSize>500MB</maxFileSize>      </timeBasedFileNamingAndTriggeringPolicy>      <maxHistory>2</maxHistory>    </rollingPolicy>    <layout class="ch.qos.logback.classic.PatternLayout">      <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n      </Pattern>    </layout>  </appender>    <logger name="com.example" level="DEBUG">      <appender-ref ref="baselog" />    </logger>    <root level="INFO">    <appender-ref ref="INFO_FILE" />    <appender-ref ref="ERROR_FILE" />  </root>  </configuration>

注意:

1)控制台和日志文件的字符集
2)日志文件的存放位置,须要遵守linux的命名规则

第二步,在application.properties中指定logback.xml和日志生成的路径,如下:

logging.config=classpath:logback.xmllogging.path=/workspace/log

第三步,新建HelloController类,具体内容如下:

package com.example;  import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.WEB.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;  @RestController public class HelloController {    protected static Logger logger=LoggerFactory.getLogger(HelloController.class);      @RequestMapping("/")   public String helloworld(){     logger.debug("访问hello");     return "Hello world!";   }      @RequestMapping("/hello/{name}")   public String helloName(@PathVariable String name){     logger.debug("访问 helloName,Name={}",name);     return "Hello "+name;   } }

注意:在添加引用时,日志的包一定是org.slf4j.Logger、org.slf4j.LoggerFactory类。

第四步,测试

1)运行主程序
2)在浏览器中依次输入
Http://localhost:8080/
http://localhost:8080/hello/素文宅博客
3)由于我的工程在D盘所有log日志文件所在的目录找到D:/workspace/log文件夹下,日志文件的名称是在配置文件logback.xml中设置的。

在application.properties可以配置日志相关属性

控制台输出

日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出。

Spring Boot中默认配置ERROR、WARN和INFO级别的日志输出到控制台。您还可以通过启动您的应用程序--debug标志来启用“调试”模式(开发的时候推荐开启),以下两种方式皆可:
1)在运行命令后加入--debug标志,如:$ java -jar springTest.jar --debug
2)在application.properties中配置debug=true,该属性置为true的时候,核心Logger(包含嵌入式容器、hibernate、spring)会输出更多内容,但是你自己应用的日志并不会输出为DEBUG级别。

文件输出

默认情况下,Spring Boot将日志输出到控制台,不会写到日志文件。如果要编写除控制台输出之外的日志文件,则需在application.properties中设置logging.file或logging.path属性。
1)logging.file,设置文件,可以是绝对路径,也可以是相对路径。如:logging.file=my.log
2)logging.path,设置目录,会在该目录下创建spring.log文件,并写入日志内容,如:logging.path=/var/log
如果只配置logging.file,会在项目的当前路径下生成一个 xxx.log 日志文件。如果只配置 logging.path,在 /var/log文件夹生成一个日志文件为 spring.log

注意:二者不能同时使用,如若同时使用,则只有logging.file生效。默认情况下,日志文件的大小达到10MB时会切分一次,产生新的日志文件,默认级别为:ERROR、WARN、INFO。

级别控制

所有支持的日志记录系统都可以在Spring环境中设置记录级别(在application.properties中设置)
格式为:'logging.level.* = LEVEL'
logging.level:日志级别控制前缀,*为包名或Logger名
LEVEL:选项TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF

实例:

logging.level.com.dudu=DEBUG:com.example包下所有class以DEBUG级别输出
logging.level.root=WARN:root日志以WARN级别输出

自定义日志配置

由于日志服务一般都在ApplicationContext创建前就初始化了,它并不是必须通过Spring的配置文件控制。因此通过系统属性和传统的Spring Boot外部配置文件依然可以很好的支持日志控制和管理。

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

Logback:logback-spring.xml, logback-spring.groovy, logback.xml, logback.groovyLog4j:log4j-spring.properties, log4j-spring.xml, log4j.properties, log4j.xmlLog4j2:log4j2-spring.xml, log4j2.xmljdk (Java Util Logging):logging.properties

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

关于“Spring Boot日志控制的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: Spring Boot日志控制的示例分析

本文链接: https://www.lsjlt.com/news/221752.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Spring Boot日志控制的示例分析
    这篇文章将为大家详细讲解有关Spring Boot日志控制的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Spring Boot对日志的处理,和我们平时的日志处理完全一致,通过logback.xm...
    99+
    2023-05-30
    springboot
  • spring boot actuator监控的示例分析
    这篇文章主要介绍了spring boot actuator监控的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。spring boot actuator介绍Spring...
    99+
    2023-06-25
  • spring boot使用logback日志级别打印控制操作得示例
    小编给大家分享一下spring boot使用logback日志级别打印控制操作得示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!因为公司业务需要,需要把性能日志...
    99+
    2023-06-06
  • Spring Boot Starter的示例分析
    这篇文章给大家分享的是有关Spring Boot Starter的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Spring Boot 简介Spring框架功能很强大,但是就算是一个很简单的项目,我们也要...
    99+
    2023-05-31
    spring boot starter
  • Java中Spring Boot的示例分析
    这篇文章主要介绍Java中Spring Boot的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. 什么是 Spring Boot?Spring Boot 是为 Spring 服务的,是用来简化新 Spri...
    99+
    2023-06-20
  • spring boot jar部署控制台日志乱码的解决
    目录spring boot jar部署控制台日志乱码问题描述解决注释掉或删除springboot打包后在Windows控制台运行中文乱码例如spring boot jar部署控制台日...
    99+
    2024-04-02
  • spring boot整合JMS的示例分析
    这篇文章将为大家详细讲解有关spring boot整合JMS的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、安装ActiveMQ具体的安装步骤,请参考我的另一篇文章:https://www.j...
    99+
    2023-05-30
    spring boot jms
  • spring boot集成rabbitmq的示例分析
    这篇文章主要为大家展示了“spring boot集成rabbitmq的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“spring boot集成rabbitmq的示例分析”这篇文章吧。一、...
    99+
    2023-05-30
    springboot rabbitmq
  • spring boot集成shiro的示例分析
    小编给大家分享一下spring boot集成shiro的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!spring boot提供了一个自带的认证框架,同时...
    99+
    2023-05-30
  • Linux中日志的示例分析
    这篇文章主要介绍Linux中日志的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!日志的三种类型#内核及系统日志:这种日志数据由系统服务rsyslog统一管理,根据其主配置文件/etc/rsyslog.conf...
    99+
    2023-06-27
  • Spring Boot配置方式的示例分析
    这篇文章给大家分享的是有关Spring Boot配置方式的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Spring Boot 允许通过外部配置让你在不同的环境使用同一应用程序的代码,简单说就是可以通过配...
    99+
    2023-05-30
    spring boot
  • Spring Boot对jdbc支持的示例分析
    这篇文章将为大家详细讲解有关Spring Boot对jdbc支持的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。项目结构pom.xmlpom.xml:<xml version=&q...
    99+
    2023-06-20
  • Spring boot外部配置的示例分析
    这篇文章给大家分享的是有关Spring boot外部配置的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言在项目中为了灵活配置,我们常采用配置文件,常见的配置文件就比如xml和properties,sp...
    99+
    2023-05-30
    springboot
  • Spring Boot应用开发的示例分析
    这篇文章主要介绍了Spring Boot应用开发的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Spring Boot是由Pivotal团队提供的全新Spring开发...
    99+
    2023-06-20
  • MySQL复制应用中继日志的示例分析
    这篇文章主要介绍MySQL复制应用中继日志的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、前言SQL线程应用中继日志,在binlog_format是row格式的时候,是居...
    99+
    2024-04-02
  • Spring Boot发送邮件的示例分析
    这篇文章将为大家详细讲解有关Spring Boot发送邮件的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Spring框架使用JavaMailSender接口为发送邮件提供了一个简单的抽象,并且S...
    99+
    2023-05-30
    springboot
  • sqlserver2008日志收缩的示例分析
    这篇文章主要介绍了sqlserver2008日志收缩的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。&...
    99+
    2024-04-02
  • spring boot activity 项目搭建的示例分析
    这篇文章将为大家详细讲解有关spring boot activity 项目搭建的示例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。spring boot activity 项目搭建初始化...
    99+
    2023-06-19
  • mysql5.7无法开启二进制日志的示例分析
    小编给大家分享一下mysql5.7无法开启二进制日志的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2024-04-02
  • ELK 5.0.1+Filebeat5.0.1 for LINUX RHEL6.6 监控MongoDB日志的示例分析
    本篇文章为大家展示了ELK 5.0.1+Filebeat5.0.1 for LINUX RHEL6.6 监控MongoDB日志的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作