04_SpringBoot中日志的配置和使用

04_SpringBoot中日志的配置和使用

使用Logback作为日志框架:

配置 logback(官方推荐使用)

spring boot 默认会加载 classpath:logback-spring.xml 或者 classpath:logback-spring.groovy。

如需要自定义文件名称,在 application.properties 中配置 logging.config 选项即可。

在 src/main/resources 下创建 logback-spring.xml 文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?><configuration>    <!-- 默认文件输出格式 -->    <property name="PATTERN" value="%-12(%d{yyyy-MM-dd HH:mm:ss.SSS}) |-%-5level [%thread] %c [%L] -| %msg%n" />    <!-- test测试环境下日志文件路径 -->    <property name="TEST_FILE_PATH" value="d:/test.log" />    <!-- pro生产环境下日志文件路径 -->    <property name="PRO_FILE_PATH" value="/opt/test/log" />    <!-- 开发环境 -->    <springProfile name="dev">        <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">            <encoder>                <pattern>${PATTERN}</pattern>            </encoder>        </appender>        <logger name="com.light.springboot" level="debug" />        <root level="info">            <appender-ref ref="CONSOLE" />        </root>    </springProfile>    <!-- 测试环境 -->    <springProfile name="test">        <!-- 每天产生一个文件 -->        <appender name="TEST-FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">            <!-- 文件路径 -->            <file>${TEST_FILE_PATH}</file>            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">                <!-- 文件名称 -->                <fileNamePattern>${TEST_FILE_PATH}/info.%d{yyyy-MM-dd}.log</fileNamePattern>                <!-- 文件最大保存历史数量 -->                <MaxHistory>100</MaxHistory>            </rollingPolicy>            <layout class="ch.qos.logback.classic.PatternLayout">                <pattern>${PATTERN}</pattern>            </layout>        </appender>        <logger name="com.light.springboot" level="debug" />        <root level="info">            <appender-ref ref="TEST-FILE" />        </root>    </springProfile>    <!-- 生产环境 -->    <springProfile name="prod">        <appender name="PROD_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">            <file>${PRO_FILE_PATH}</file>            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">                <fileNamePattern>${PRO_FILE_PATH}/warn.%d{yyyy-MM-dd}.log</fileNamePattern>                <MaxHistory>100</MaxHistory>            </rollingPolicy>            <layout class="ch.qos.logback.classic.PatternLayout">                <pattern>${PATTERN}</pattern>            </layout>        </appender>        <root level="warn">            <appender-ref ref="PROD_FILE" />        </root>    </springProfile></configuration>

其中,springProfile 标签的 name 属性对应 application.properties 中的 spring.profiles.active 的配置。

即 spring.profiles.active 的值可以看作是日志配置文件中对应的 springProfile 是否生效的开关。

使用Log4J2作为日志框架:

 如果使用log4j2作为日志记录框架,那么首先第一步,需要祛除springboot默认的logback:并加入log4j2的依赖

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
   <!--去除springboot默认的logback的依赖-->  <exclusions>
         <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
         </exclusion>

   </exclusions>
</dependency>


<!--添加log4j2依赖--> <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>


log4j2 不能像 logback 那样在一个文件中设置多个运行环境下的日志配置,因此只能命名 3 个不同名称的日志文件,分别在 application-dev,application-test 和 application-prod 中配置 logging.config 选项。

04_SpringBoot中日志的配置和使用

除了在日志配置文件中设置参数之外,还可以在 application-*.properties 中设置,日志相关的配置:

logging.config=classpath:log4j2-spring.xml logging.config # 日志配置文件路径,如 classpath:logback-spring.xml logging.exception-conversion-word # 记录异常时使用的转换词 logging.file # 记录日志的文件名称,如:test.log logging.level.* # 日志映射,如:logging.level.root=WARN,logging.level.org.springframework.web=DEBUG logging.path # 记录日志的文件路径,如:d:/ logging.pattern.console # 向控制台输出的日志格式,只支持默认的 logback 设置。 logging.pattern.file # 向记录日志文件输出的日志格式,只支持默认的 logback 设置。 logging.pattern.level # 用于呈现日志级别的格式,只支持默认的 logback 设置。 logging.register-shutdown-hook # 初始化时为日志系统注册一个关闭钩子

在项目中进行日志记录

04_SpringBoot中日志的配置和使用

运行访问:

04_SpringBoot中日志的配置和使用04_SpringBoot中日志的配置和使用

运行结果如下:

04_SpringBoot中日志的配置和使用

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/111295.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • HashMap工作原理和扩容机制

    HashMap工作原理和扩容机制HashMap工作原理HashMap扩容1HashMap的扩容时机2HashMap的扩容过程补充1容量必须是2的幂2rehashReferences1.HashMap工作原理HashMap作为优秀的Java集合框架中的一个重要的成员,在很多编程场景下为我们所用。HashMap作为数据结构散列表的一种实现,就其工作原理来讲单独列出一篇博客来讲都是不过分的。由于本文主要是简单总

  • ■ 直接调用阿里云视频点播API实现视频播放

    ■ 直接调用阿里云视频点播API实现视频播放

  • 十进制小数如何转换为二进制小数[通俗易懂]

    十进制小数如何转换为二进制小数[通俗易懂]关于十进制小数转换为二进制数,下面是我的详细操作说明,仅供参考。纯小数首先,最高位是符号位,正数是0,负数是1;小数部分乘以2,然后取整数部分,,剩余小数部分继续乘以2,取整数部分,……直到小数部分为0。以+0.125为例:+数,最高位为0;小数部分0.125×2=0.25,取0;再取小数部分0.25×2=0.5,取0;再取小数部分0.5×2=1.0,取1;这时小数部分是0,结束。…

  • 使用VScode配置Java环境—JDK-17

    使用VScode配置Java环境—JDK-17一、JDK的安装与环境配置1、在java的官网下载页面找到安装包进行安装。找到对应的操作系统,第一个是直接下载压缩包,第二个是下载一个下载器再安装,我是直接下的第一个。2、修改环境变量,先建立一个JAVA_HOME变量,将JDK的安装下载位置设为值。3、点击系统变量中的Path,然后点击编辑,然后把bin的路径填上。按道理来说其实填路径这一步,直接把bin的路径加到Path中也可以,但是网上好多教的都是做一个JAVA_HOME变量,我也不知道为啥。记得退出环境…

  • PyCharm激活码永久有效PyCharm2019.3.4激活码教程-持续更新,一步到位

    PyCharm激活码永久有效PyCharm2019.3.4激活码教程-持续更新,一步到位PyCharm激活码永久有效2019.3.4激活码教程-Windows版永久激活-持续更新,Idea激活码2019.3.4成功激活

  • 使用spss进行系统聚类分析

    使用spss进行系统聚类分析按以下步骤进行操作1)导入数据北京 8070.40 2643.00 12128.00 2511.00 5077.90 4054.70 2629.80 1140.60天津 8679.60 2114.00 6187.30 1663.80 3991.90 2643.60 2172.20 892.20河北 4991.60 1614.40 4483.20 1351.10 2664.10 1991.30 1549.90 460.40山西 3862.80 1603.00 3633.80 951.60 2401.

    2022年10月18日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号