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

10.日志中间件

1.核心:SLF4J 提供统一的API,隔离具体实现,Logback / Log4j2 是具体实现。

2.核心配置文件(logback.xml 必须放在resources目录下,否则需在web.xml配置)

  • ① 常量定义:日志格式、存储路径、编码方式

    <property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{30} - %msg%n"/>
    <!--                                      日志时间              线程名     日志级别   日志类名    具体内容 换行符--> 
    <!--                                                                      INFO    类全限定名(无限长度) --><property name="LOG_DIR" value="F:/logs/springmvc"/>
    <!-- 路径:/logs/springmvc 保存在Tomcat所在磁盘(如C盘)../logs/springmvc 则保存在Tomcat目录下(如C:\tomcat9.0\logs\springmvc)F:/logs/springmvc 自定义路径★ “/”不能用“\”,且logback会自动创建目录结构
    可以正常输出到控制台,但无法写入文件,通常是权限不足导致
    --><property name="CHARSET" value="UTF-8"/>
    
  • ② 定义日志输出规则(Appender):以文件输出为例

    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${LOG_DIR}/app.log</file><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>${LOG_DIR}/app.%d{yyyy-MM-dd}.log</fileNamePattern><!-- 关键:%d{yyyy-MM-dd} 是按天分割的核心格式,%d{yyyy-MM}则是按月 --><maxHistory>30</maxHistory></rollingPolicy><encoder> <!-- 日志格式配置(即日志长什么样子) --><pattern>${LOG_PATTERN}</pattern><charset>${LOG_CHARSET}</charset></encoder>
    </appender>
    

    时间+大小双条件:一天文件过大生成多个文件

    <fileNamePattern>${LOG_DIR}/app.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
    <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"><maxFileSize>50MB</maxFileSize>
    </timeBasedFileNamingAndTriggeringPolicy>
    <maxIndex>10</maxIndex> <!-- 每天最多10个文件。 -->
    
  • ③ 定义过滤规则(logger/root)

    <!-- 自定义类日志,需输出到哪个文件: -->
    <logger name="com.yh.service.OrderService" level="INFO" additivity="false"><!-- additivity如果不设置,这类日志会输出到当前Appender和根日志的Appender(即重复输出)--><!-- 该类的全限定名,如果多个类要使用相同的日志配置,只需配置包名即可 --><appender-ref ref="ORDER_SERVICE_FILE"/><appender-ref ref="CONSOLE"/> <!-- 同时输出到控制台 -->
    </logger><!-- 根日志(其他类的日志默认走这里): -->
    <root level="INFO"><appender-ref ref="ALL_FILE"/>
    </root>
    

3.使用步骤

  • ① 导入logback相关依赖到项目中,最佳搭配:

    servlet 4.0.1
    slf4j 1.7.32
    logback-classic 1.2.10
    logback-core 1.2.10
    

    在Tomcat的localhost.log里出现“Servlet [springmvc]标记为不可用”,是因为pom.xml里的slf4j-api版本与SpringFramework冲突。

  • ② 将logback.xml直接拷贝到resources下

  • ③ 创建logback框架提供的Logger对象,然后用Logger对象调用其提供的方法,就可以记录系统的日志信息:

    public static final Logger LOGGER = LoggerFactory.getLogger(Class对象);// 一个项目中只需要一个日志对象
    
http://www.jsqmd.com/news/58825/

相关文章:

  • 12月1日日记
  • 备课
  • 令牌环式同步:乒乓球对练的四种实现方式
  • 软件工程学习日志2025.12.2
  • python题库 No.18 购物小票
  • 2025年集成电路实训实验室优质引线键合机推荐榜 - 兼顾稳
  • 2025澳大利亚双清包税国际物流服务评测报告
  • 2025年11月助听器十大品牌推荐 自然之声以专业康复服务位
  • 2025义乌加拿大双清包税服务商排行榜
  • 全球电解法二氧化氯发生器实力厂家推荐指南
  • 论文速读记录 | 2025.12
  • 全球水消毒设备品牌推荐:次氯酸钠发生器选型指南
  • 歌声转换SVC主流方法原理剖析3 — So-VITS-SVC
  • 2025全国助听器厂家推荐榜:专业验配+全程康复成听损家
  • 超市环境智能监控方案:96.8% 识别精度,异味投诉归零
  • 小程序定制开发实战:需求拆解、UI 设计与个性化效果落地流程
  • spark的共享变量之广播变量和累加器
  • 2025年百度服务商公司评测报告——百家号服务商公司选哪家深
  • 配电自动化(FTU、DTU、TTU)芯片国产化选择
  • 原码、反码、补码的转换
  • KIT的替代产品工单
  • 实验四 组合与继承
  • 2025 GODIAG BMW BDC2/BCP Test Platform: Diagnose, Program, Sync Keys for Euro/American BMWs
  • 实验四:组合与继承
  • 极大连通子图和极小连通子图
  • 2025百度爱采购服务商推荐3家靠谱品牌解析
  • 论文写得慢还易重复?学术AI助手帮你省80%时间
  • 九、一个AXIDMA的驱动示例
  • 【机器视觉通用检测框架】基于VS2019 C#+VisionPro9.0开发的视觉框架软件,全套源码,开箱即用 - 实践
  • 2025年最新!新疆建筑企业资质代办服务机构分析与选择参考