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中日志的配置和使用

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 协方差的意义

    协方差的意义

    2021年12月8日
    48
  • 多重共线性检验-方差膨胀系数(VIF)-相关系数(机器学习)sklearn

    多重共线性检验-方差膨胀系数(VIF)-相关系数(机器学习)sklearn文章目录多重共线性检验-方差膨胀系数(VIF)1、原理:2、多重共线性:3、检验方法:方差膨胀系数(VIF):相关性检验:4、代码测试4.1导入相关库4.2准备数据4.3计算膨胀因子4.4计算相关系数4.5分割测试集4.6模型选择4.7AUC值4.8模型调整4.8.1删除账户资金4.8.2删除累计交易佣金5、总结多重共线性检验-方差膨胀系数(VIF)1、原理:方差膨胀系数是衡量多元线性回归模型中多重共线性严重程度的一种度量。它表示回归系数估计量的方差与假设自变量间不线性相关时方差相比的比值。

    2022年6月9日
    47
  • 加拿大pc28算法公式(车辆调度算法)

    百度Apollo2.0车辆控制算法之LQR控制算法解读Apollo中横向控制的LQR控制算法在Latcontroller..cc中实现根据车辆的二自由度动力学模型(1)根据魔术公式在小角度偏角的情况下有,轮胎的侧向力与轮胎的偏离角成正比.,分别为前、后轮的侧偏刚度,(2)(3)在小角度的情况下有所以有(4)因此上述车辆的动力学模型可以简化写成(5)…

    2022年4月18日
    37
  • if python用法_for循环语句

    if python用法_for循环语句今天,我们将学习Python中if语句的基本使用。if在Python中用作某个条件或值的判断,格式为:if条件: 执行语句1else: 执行语句2else是当条件不成立时运行的代码。我们先来看个例子,程序判断天气情况并输出是否要带伞:weather=input(“今日天气是:”)ifweather==”雨天” print(“今天出门需要带伞”)else: print(“今天出门不需要带伞”)运行代码,输入雨天会提示要带伞。if语句中用的两个“=”是什么呢

    2022年9月26日
    4
  • 实用软件资源下载地址集合「建议收藏」

    实用软件资源下载地址集合「建议收藏」1、文库、音乐、视频下载类软件:(视频下载软件)稞麦下载地址:http://rj.baidu.com/soft/detail/10712.html?ald维棠下载地址:http://www.vidown.cn/(文档下载软件)冰点文库下载地址:http://rj.baidu.com/soft/detail/23385.html?ald(音频下载软件)酷狗下载地址:http://rj.baidu….

    2022年5月1日
    206
  • pycharm添加搜索路径_pycharm系统找不到指定路径

    pycharm添加搜索路径_pycharm系统找不到指定路径为了能让python解释器找到我安装的python包的位置,我把该位置添加到了PYTHONPATH中,结果试了半天,pycharm中的解释器都没能检测到我那个包的存在,而在终端打开python的命令交互模式都是可以获取我在PYTHONPATH中设置的路径的。(气得我一口老血喷出来,哪位大神要是知道这是什么情况,敬请告知呀喵。感激不尽呦^_^)好了,说正事了。pycharm这么气人怎么办呢?闹了半

    2022年8月27日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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