首页 > 其他分享 >Springboot按天生成日志文件

Springboot按天生成日志文件

时间:2024-07-12 18:10:12浏览次数:16  
标签:yyyy Springboot MM dd .% 按天 HH 日志

原文链接:https://blog.csdn.net/weixin_47798667/article/details/131846942

 1:首先再yml文件上加上配置

  1.   logging:
  2.   config: classpath:logback-spring.xml

2:新建一个logback-spring.xml文件

 文件内容是如下

  1.   <?xml version="1.0" encoding="UTF-8"?>
  2.   <configuration>
  3.   <property name="LOG_CONTEXT_NAME" value="log"/>
  4.   <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
  5.   <property name="LOG_HOME" value="logs/${LOG_CONTEXT_NAME}" />
  6.   <!-- 定义日志上下文的名称 -->
  7.   <contextName>${LOG_CONTEXT_NAME}</contextName>
  8.   <!-- 控制台输出 -->
  9.   <!--<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  10.   <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  11.   &lt;!&ndash;格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符&ndash;&gt;
  12.   <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %highlight(%-5level) %cyan(%logger{50}:%L) - %msg%n</pattern>
  13.   <charset>utf-8</charset>
  14.   </encoder>
  15.   <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  16.   <level>INFO</level>
  17.   </filter>
  18.   </appender>-->
  19.    
  20.    
  21.   <!-- 彩色日志依赖的渲染类 -->
  22.   <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
  23.   <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
  24.   <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
  25.   <!-- 彩色日志格式 -->
  26.   <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
  27.    
  28.   <!--1. 输出到控制台-->
  29.   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  30.   <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
  31.   <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  32.   <level>INFO</level>
  33.   </filter>
  34.   <encoder>
  35.   <Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
  36.   <!-- 设置字符集 -->
  37.   <charset>UTF-8</charset>
  38.   </encoder>
  39.   </appender>
  40.    
  41.   <!--info日志统一输出到这里-->
  42.   <appender name="file.info" class="ch.qos.logback.core.rolling.RollingFileAppender">
  43.   <Prudent>true</Prudent>
  44.   <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  45.   <!--日志文件输出的文件名,按小时生成-->
  46.   <FileNamePattern>${LOG_HOME}/%d{yyyy-MM-dd}/info/info.%d{yyyy-MM-dd-HH}.%i.log</FileNamePattern>
  47.   <!--日志文件保留天数-->
  48.   <MaxHistory>30</MaxHistory>
  49.   <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  50.   <!-- 除按日志记录之外,还配置了日志文件不能超过10M(默认),若超过10M,日志文件会以索引0开始, -->
  51.   <maxFileSize>10MB</maxFileSize>
  52.   </timeBasedFileNamingAndTriggeringPolicy>
  53.   </rollingPolicy>
  54.   <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  55.   <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %method 方法名 %L 行数 %msg:日志消息,%n是换行符-->
  56.   <pattern> %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{56}.%method:%L - %msg%n</pattern>
  57.   <charset>utf-8</charset>
  58.   </encoder>
  59.   <!-- 此日志文件只记录info级别的 -->
  60.   <filter class="ch.qos.logback.classic.filter.LevelFilter">
  61.   <level>INFO</level>
  62.   <onMatch>ACCEPT</onMatch>
  63.   <onMismatch>DENY</onMismatch>
  64.   </filter>
  65.   </appender>
  66.    
  67.    
  68.   <!--错误日志统一输出到这里-->
  69.   <appender name="file.error" class="ch.qos.logback.core.rolling.RollingFileAppender">
  70.   <Prudent>true</Prudent>
  71.   <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  72.   <!--日志文件输出的文件名,按天生成-->
  73.   <FileNamePattern>${LOG_HOME}/%d{yyyy-MM-dd}/error/error.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
  74.   <!--日志文件保留天数-->
  75.   <MaxHistory>30</MaxHistory>
  76.   <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  77.   <!-- 除按日志记录之外,还配置了日志文件不能超过10M(默认),若超过10M,日志文件会以索引0开始, -->
  78.   <maxFileSize>10MB</maxFileSize>
  79.   </timeBasedFileNamingAndTriggeringPolicy>
  80.   </rollingPolicy>
  81.   <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  82.   <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %method 方法名 %L 行数 %msg:日志消息,%n是换行符-->
  83.   <pattern> %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{56}.%method:%L - %msg%n</pattern>
  84.   <charset>utf-8</charset>
  85.   </encoder>
  86.   <!-- 此日志文件只记录error级别的 -->
  87.   <filter class="ch.qos.logback.classic.filter.LevelFilter">
  88.   <level>ERROR</level>
  89.   <onMatch>ACCEPT</onMatch>
  90.   <onMismatch>DENY</onMismatch>
  91.   </filter>
  92.   </appender>
  93.    
  94.   <!--warn日志统一输出到这里-->
  95.   <appender name="file.warn" class="ch.qos.logback.core.rolling.RollingFileAppender">
  96.   <Prudent>true</Prudent>
  97.   <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  98.   <FileNamePattern>${LOG_HOME}/%d{yyyy-MM-dd}/warn/warn.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
  99.   <!--日志文件保留天数-->
  100.   <MaxHistory>30</MaxHistory>
  101.   <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  102.   <!-- 除按日志记录之外,还配置了日志文件不能超过10M(默认),若超过10M,日志文件会以索引0开始, -->
  103.   <maxFileSize>10MB</maxFileSize>
  104.   </timeBasedFileNamingAndTriggeringPolicy>
  105.   </rollingPolicy>
  106.   <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  107.   <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %method 方法名 %L 行数 %msg:日志消息,%n是换行符-->
  108.   <pattern> %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{56}.%method:%L - %msg%n</pattern>
  109.   <charset>utf-8</charset>
  110.   </encoder>
  111.   <!-- 此日志文件只记录warn级别的 -->
  112.   <filter class="ch.qos.logback.classic.filter.LevelFilter">
  113.   <level>WARN</level>
  114.   <onMatch>ACCEPT</onMatch>
  115.   <onMismatch>DENY</onMismatch>
  116.   </filter>
  117.   </appender>
  118.    
  119.    
  120.    
  121.   <!-- 日志输出级别 -->
  122.   <root level="DEBUG">
  123.   <appender-ref ref="STDOUT" />
  124.   <appender-ref ref="file.error" />
  125.   <appender-ref ref="file.info" />
  126.   <appender-ref ref="file.warn" />
  127.   </root>
  128.    
  129.   </configuration>

3:生成的日志文件如下

4:测试info 和error

 

 此时日志文件会保存错误打印的日志了

标签:yyyy,Springboot,MM,dd,.%,按天,HH,日志
From: https://www.cnblogs.com/fswhq/p/18057145

相关文章

  • rsyslog配置(服务端、客户端)-UDP-TCP转发-imfile自定义应用程序的日志推送
    ##概念#Syslog服务器可以用作一个网络中的日志监控中心,所有能够通过网络来发送日志的设施(包含了Linux或Windows服务器,路由器,交换机以及其他主机)都可以把日志发送给它。通过设置一个syslog服务器,可以将不同设施/主机发送的日志,过滤和合并到一个独立的位置,这样使得你更容易地查......
  • 基于SpringBoot+Vue+数据可视化的药品商场购物系统设计和实现(源码+LW+部署讲解)
    博主介绍:✌全网粉丝50W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、P......
  • 六、 SpringBoot 配置⽂件 ★ ✔
    六、SpringBoot配置⽂件本节⽬标1.配置⽂件作⽤2.配置⽂件快速⼊⼿3.配置⽂件的格式4.properties配置⽂件说明4.1properties基本语法4.2读取配置⽂件4.3properties缺点分析5.yml配置⽂件说明5.1yml基本语法5.2yml使⽤进阶5.2.1yml配置不同数据类型......
  • day07-SpringBoot
    昨日回顾SSM框架的问题配置文件多。所有的都需要手动配置依赖多。而且会出现版本问题。例如json包就出现版本不兼容问题。启动需要借助tomcat。还要手动集成tomcat插件。学习目标基于SpringBoot框架的程序开发步骤熟练使用SpringBoot配置信息修改服务器配置基于Sprin......
  • 毕业设计-基于Springboot+Vue的招生管理系统的设计与实现(源码+LW+包运行)
    源码获取:https://download.csdn.net/download/u011832806/89456200基于SpringBoot+Vue的招生管理系统开发语言:Java数据库:MySQL技术:SpringBoot+MyBatis+Vue.js工具:IDEA/Ecilpse、Navicat、Maven系统演示视频:链接:https://pan.baidu.com/s/1GwKRBbuwMiZmnxkvRN9VJg?pwd=sb......
  • 毕业设计-基于Springboot+Vue的致远汽车租赁系统的设计与实现(源码+LW+包运行)
    源码获取:https://download.csdn.net/download/u011832806/89456206基于SpringBoot+Vue的致远汽车租赁系统开发语言:Java数据库:MySQL技术:SpringBoot+MyBatis+Vue.js工具:IDEA/Ecilpse、Navicat、Maven系统演示视频:链接:https://pan.baidu.com/s/1IHfaizhpMI1q750DBZ1enA?pw......
  • 毕业设计-基于Springboot+Vue的智慧外贸平台的设计与实现(源码+LW+包运行)
    源码获取:https://download.csdn.net/download/u011832806/89456212基于SpringBoot+Vue的智慧外贸平台开发语言:Java数据库:MySQL技术:SpringBoot+MyBatis+Vue.js工具:IDEA/Ecilpse、Navicat、Maven系统演示视频:链接:https://pan.baidu.com/s/1PnEjpc6IXOgPmYxluTOr2g?pwd=kv......
  • Docker 修改容器日志默认存储路径
    默认安装完成 docker 后,所有images及相关信息存储位置为:/var/lib/docker,比如每个容器的日志默认都会以 json-file 的格式存储于 /var/lib/docker/containers/<容器id>/<容器id>-json.log 里面。一般情况,/var目录是在根分区之下,而根分区之下的磁盘空间一般不会较大,所以在......
  • 使用Spring AOP做一个日志切面类
    日志切面类用于记录Controller层的方法执行前和执行后的日志信息。定义一个切面类,并在该类中声明增强方法(如@Before、@After、@Around等注解的方法),然后在这些增强方法中通过JoinPoint参数获取当前连接点的信息,如方法名、参数、目标对象等。最后,在配置文件中声明切面和切点,将增强方......
  • 在springboot 中使用Apache HttpClient 4的详细示例
    在SpringBoot中使用ApacheHttpClient,可以通过配置HttpClient的Bean并使用它来发起HTTP请求。下面是一个详细的示例,展示了如何在SpringBoot应用中集成和使用ApacheHttpClient。步骤1:添加依赖在你的pom.xml文件中添加ApacheHttpClient的依赖:<dependency>......