当前位置: 首页 > news >正文

SpringBoot框架—Logger使用

1.添加依赖

在pom.xml文件中,添加依赖。但日志模块的依赖取决于使用的Starter依赖,所以完整的依赖如下:

2.导入模块

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

3.普通用法

先注入Logger对象

private static final Logger log = LoggerFactory.getLogger(MyController.class);

调用

log.debug("hello info log-debug");
log.error("This is an error message");

修改日志级别
在application.properties或application.yml中配置

//设置全局日志级别
logging.level.root=WARN;

//设置特定包的日志级别
logging.level.包名=DEBUG

4.高级用法:使用Logback扩展

在src/main/resources下新增文件:logback-spring.xml

logback-spring.xml结构

<?xml version="1.0" encoding="UTF-8"?>
<configuration  scan="true" scanPeriod="60 seconds" debug="false">
    <contextName>logback</contextName>
    <!--配置日志文件输出路径,value后面是自己的内容-->
    <property name="log.path" value="${catalina.base}/logs" />

    <!--输出到控制台-->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <!-- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
             <level>ERROR</level>
         </filter>-->
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <!--通用-->
    <appender name="AutoLogAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${catalina.base}/logs/AutoLogs.%d{yyyy-MM-dd}.log</fileNamePattern>
        </rollingPolicy>
        <encoder charset="UTF-8">
            <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] %level [%thread] %file:%line - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>
    <logger name="autoLog" additivity="false" level="INFO">
        <appender-ref ref="AutoLogAppender"/>
    </logger>

   <!--日志级别-->
    <root level="info">
        <appender-ref ref="console" />
    </root>

</configuration>

注入Logger对象

private static final Logger AUTO_LOGGER = LoggerFactory.getLogger("autoLog");

"autoLog"来自logback-spring.xml文件中 logger 标签里的name值

调用:

AUTO_LOGGER.error("some param is null");

最后生成的效果

如果需要输出多个日志文件,在logback-spring.xml中定义多个appender和对应的logger即可

相关文章:

  • golang 中 make 和 new 的区别?
  • 力扣刷题——2265.统计值等于子树平均值的节点数
  • 国产三维CAD皇冠CAD在机械制造行业建模教程:油泵
  • [ctfshow web入门] web28
  • 智能仓储数字孪生Demo(Unity实现)
  • AI大模型底层技术——Scaling Law
  • leetcode13.罗马数字转整数
  • 技术面试通关秘籍:常见问题解析+实战案例+避坑指南
  • Java 容器源码分析
  • Java全栈项目--校园快递管理与配送系统(5)
  • Wincc项目被锁定无法打开
  • 红宝书第三十二讲:零基础学会模块打包器:Webpack、Parcel、Rollup
  • 解决.net接口防暴力调用问题
  • 零基础教程:Windows电脑安装Linux系统(双系统/虚拟机)全攻略
  • 特权FPGA之Johnson移位
  • node-modules-inspector 使用以及 node_modules可视化 依赖关联关系快速分析
  • Java 为什么不支持多继承?
  • 多类型医疗自助终端智能化升级路径(代码版.下)
  • C++类与对象进阶知识深度解析
  • 基于大模型的ALS预测与手术优化系统技术方案
  • 马上评|这种“维权”已经不算薅羊毛,涉嫌犯罪了
  • 机构发布“2025中国高职院校排名”
  • 一个多月来上海交大接连“牵手”三区,在这些方面进行区校合作
  • 中国-拉共体成员国重点领域合作共同行动计划(2025-2027)
  • 三亚通报救护车省外拉警报器开道旅游:违规违法,责令公司停业整顿
  • 6连败后再战萨巴伦卡,郑钦文期待打出更稳定发挥