Spring Boot配置多个日志文件记录不同类日志示例
创始人
2024-02-08 07:53:55
0

了解如何使用多个文件追加器在Spring 引导应用程序中创建多个日志文件。了解如何使用翻转策略、归档等配置所有文件追加器,wiihlog4j2和日志配置。

1. 带登录的多个日志文件

以下文件包含 5 个记录器。我们可以根据需要创建更多的记录器。logback.xml

  • console– 将输出记录到控制台。包括所有日志语句。
  • applicationLog– 将输出记录到。包括包的应用程序日志。application.logdebugcom.howtodoinjava.demo
  • aopLog– 将输出记录到。在包中包含应用程序日志。application-aop.loginfocom.howtodoinjava.demo.aop
  • springLog– Createand 包含 spring 框架生成的所有错误日志。spring-framework.log
  • hibernateLog– 创建并包含休眠生成的所有错误日志。database.log

放置给定资源文件夹。logback.xml

<configuration>     <property name="LOG_PATTERN" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSZ} %p %m%n" />   <property name="APP_LOG_ROOT" value="c:/temp"/>       <appender name="console" class="ch.qos.logback.core.ConsoleAppender">       <encoder>           <pattern>${LOG_PATTERN}pattern>       encoder>     appender>     <appender name="applicationLog" class="ch.qos.logback.core.rolling.RollingFileAppender">     <file>${APP_LOG_ROOT}/application.logfile>     <encoder>       <pattern>${LOG_PATTERN}pattern>     encoder>     <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">           <fileNamePattern>${APP_LOG_ROOT}/application-%i.logfileNamePattern>           <minIndex>1minIndex>           <maxIndex>10maxIndex>       rollingPolicy>       <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">           <maxFileSize>10MBmaxFileSize>       triggeringPolicy>   appender>       <appender name="aopLog" class="ch.qos.logback.core.rolling.RollingFileAppender">     <file>${APP_LOG_ROOT}/application-aop.logfile>     <encoder>       <pattern>${LOG_PATTERN}pattern>     encoder>     <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">           <fileNamePattern>${APP_LOG_ROOT}/application-aop-%i.logfileNamePattern>           <minIndex>1minIndex>           <maxIndex>10maxIndex>       rollingPolicy>       <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">           <maxFileSize>10MBmaxFileSize>       triggeringPolicy>   appender       <appender name="springLog" class="ch.qos.logback.core.rolling.RollingFileAppender">     <file>${APP_LOG_ROOT}/spring-framework.logfile>     <encoder>       <pattern>${LOG_PATTERN}pattern>     encoder>     <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">           <fileNamePattern>${APP_LOG_ROOT}/spring-framework-%i.logfileNamePattern>           <minIndex>1minIndex>           <maxIndex>10maxIndex>       rollingPolicy>       <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">           <maxFileSize>10MBmaxFileSize>       triggeringPolicy>   appender       <appender name="hibernateLog" class="ch.qos.logback.core.rolling.RollingFileAppender">     <file>${APP_LOG_ROOT}/database.logfile>     <encoder>       <pattern>${LOG_PATTERN}pattern>     encoder>     <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">           <fileNamePattern>${APP_LOG_ROOT}/database-%i.logfileNamePattern>           <minIndex>1minIndex>           <maxIndex>10maxIndex>       rollingPolicy>       <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">           <maxFileSize>10MBmaxFileSize>       triggeringPolicy>   appender       <logger name="com.howtodoinjava.demo" level="DEBUG">     <appender-ref ref="applicationLog" />     <appender-ref ref="console" />   logger>       <logger name="com.howtodoinjava.demo.aop" level="INFO">     <appender-ref ref="aopLog" />     <appender-ref ref="console" />   logger>       <logger name="org.springframework" level="DEBUG">     <appender-ref ref="springLog" />     <appender-ref ref="console" />   logger>       <logger name="org.hibernate" level="DEBUG">     <appender-ref ref="hibernateLog" />     <appender-ref ref="console" />   logger>      <root level="info">       <appender-ref ref="console" />    root>      configuration>

2. 带有 log4j2 的多个日志文件

要使用 log4j2 实现上述日志记录配置,请在类路径中包含 log4j2 依赖项。

<dependency>   <groupId>org.springframework.bootgroupId>   <artifactId>spring-boot-starter-webartifactId>   <exclusions>     <exclusion>       <groupId>org.springframework.bootgroupId>       <artifactId>spring-boot-starter-loggingartifactId>     exclusion>   exclusions> dependency>   <dependency>   <groupId>org.springframework.bootgroupId>   <artifactId>spring-boot-starter-log4j2artifactId> dependency>

现在在资源文件夹中添加log4j2.xml

xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN" monitorInterval="30">        <Properties>         <Property name="LOG_PATTERN">%d{yyyy-MM-dd'T'HH:mm:ss.SSSZ} %p %m%nProperty>         <Property name="APP_LOG_ROOT">c:/tempProperty>     Properties>        <Appenders>            <Console name="console" target="SYSTEM_OUT" follow="true">             <PatternLayout pattern="${LOG_PATTERN}"/>         Console>                    <RollingFile name="applicationLog" fileName="${sys:APP_LOG_ROOT}/application.log"             filePattern="${sys:APP_LOG_ROOT}/application-%d{yyyy-MM-dd}-%i.log">             <PatternLayout pattern="${LOG_PATTERN}"/>             <Policies>                 <SizeBasedTriggeringPolicy size="19500KB" />             Policies>             <DefaultRolloverStrategy max="10"/>         RollingFile>                    <RollingFile name="springLog" fileName="${sys:APP_LOG_ROOT}/spring-framework.log"             filePattern="${sys:APP_LOG_ROOT}/spring-%d{yyyy-MM-dd}-%i.log">             <PatternLayout pattern="${LOG_PATTERN}"/>             <Policies>                 <SizeBasedTriggeringPolicy size="19500KB" />             Policies>             <DefaultRolloverStrategy max="10"/>         RollingFile>                    <RollingFile name="aopLog" fileName="${sys:APP_LOG_ROOT}/application-aop.log"             filePattern="${sys:APP_LOG_ROOT}/application-aop-%d{yyyy-MM-dd}-%i.log">             <PatternLayout pattern="${LOG_PATTERN}"/>             <Policies>                 <SizeBasedTriggeringPolicy size="19500KB" />             Policies>             <DefaultRolloverStrategy max="10"/>         RollingFile>                   <RollingFile name="hibernateLog" fileName="${sys:APP_LOG_ROOT}/database.log"             filePattern="${sys:APP_LOG_ROOT}/spring-%d{yyyy-MM-dd}-%i.log">             <PatternLayout pattern="${LOG_PATTERN}"/>             <Policies>                 <SizeBasedTriggeringPolicy size="19500KB" />             Policies>             <DefaultRolloverStrategy max="10"/>         RollingFile>                Appenders>        <Loggers>              <Logger name="com.howtodoinjava.demo" additivity="false" level="debug">             <AppenderRef ref="applicationLog" />             <AppenderRef ref="console"  />         Logger>                   <Logger name="com.howtodoinjava.demo.aop" additivity="false" level="info">             <AppenderRef ref="aopLog" />             <AppenderRef ref="console" />         Logger>                    <Logger name="org.springframework" additivity="false" level="error">             <AppenderRef ref="springLog" />             <AppenderRef ref="console"/>         Logger>                   <Logger name="org.hibernate" additivity="false" level="error">             <AppenderRef ref="hibernateLog" />             <AppenderRef ref="console"/>         Logger>                            <Root level="INFO">             <AppenderRef ref="console"/>         Root>        Loggers>    Configuration>

3. 弹簧启动多个日志文件演示

使用上述任何给定配置运行应用程序。您将看到文件夹中生成的日志文件。'c:/temp'

Spring 引导多个日志文件示例

请向我提出与使用多个文件追加器配置 Spring 引导日志记录相关的问题。

快乐学习!!

相关内容

热门资讯

柏格森名言 柏格森名言  1、性格是一个人看不见的本质。——柏格森  2、发明的深刻影响往往在失去其新鲜感时才获...
和平的名言 关于和平的名言集锦  战争造就窃贼,和平把他们吊死——英国  和平孕育着战争,战争孕育着和平——普坦...
足球的名人名言 关于足球的名人名言集锦  1.一个足球队就像一部机器,只有每个部件都运转起来,才能收到最大的效果。-...
曹操名言 曹操名言  1、龙乘时而变,人乘势而起!——曹操《三国杀》  2、驾六龙,乘风而行;行四海,路下八邦...
法家的名言 关于法家的名言  名人名言是指为人类发展做出贡献的,富有知识的名人所说的能够让人懂得道理的一句较为出...
青春励志名言 青春励志名言集锦  青春无语,却焕发出活力,鲜花无语,却散发出芬芳,春雨无语,却滋润着大地。下面我们...
励志的古文名言 励志的古文名言(精选95句)  在平平淡淡的学习、工作、生活中,大家对名言都再熟悉不过了吧,在议论文...
观察的名言名句 关于观察的名言名句  1、观察,观察,再观察。——巴甫洛夫  2、没有顽强的细心的劳动,即使是有才华...
工作人生格言 工作人生格言精选工作人生格言精选1过去不等于未来 成功是因为态度 人人都能成功 我要我就能 有志者事...
孝的名人名言 关于孝的名人名言  百善孝为先,世上最难得的莫过于孝顺父母,尊敬他人了,孝顺是我们几千年就流传下来的...
爱读书名人名言摘抄 关于爱读书名人名言摘抄(通用175句)  在平日的学习、工作和生活里,大家一定都接触过一些使用较为普...
教师教育箴言话 关于教师教育箴言一句话  为树立高尚的师德,培养全校教师敏锐的理论洞察力和教育反思力,强化自我教育意...
读书感悟的名言 读书感悟的名言(精选70条)  名言,是指一些名人说的,写的,历史纪录的,经过实践所得出得结论或建议...
文天祥的名言摘抄 关于文天祥的名言摘抄  导语:文天祥(1236年6月6日-1283年1月9日),初名云孙,字宋瑞,一...
高三励志名言 高三励志名言15篇  无论是身处学校还是步入社会,大家都不可避免地会接触到名言吧,名言主要用来激励和...
教师格言 教师格言(精选295句)  无论是在学校还是在社会中,大家总免不了要接触或使用寄语吧,寄语的种类很多...
学会自律的励志名言 学会自律的励志名言大全  在平平淡淡的日常中,说到名言,大家肯定都不陌生吧,名言可以带来警醒和激励,...
鲁迅名人名言句子 鲁迅名人名言句子汇总(精选70句)  魂灵被风沙打击得粗暴,因为这是人的魂灵,我爱这样的魂灵;我愿意...
责任的名言 关于责任的名言15篇  在日常生活或是工作学习中,大家都知道一些经典的名言吧,在议论文中,引用名言,...
关于欲望的名言   1、最大的仇敌,莫过于自己的情欲。——伊朗  2、自我控制是最强者的本能。——肖伯纳  3、追求...