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

日志打印配置:logback-spring.xml配置;info和error完全区分了,并且按时间拆分了

<?xml version="1.0" encoding="UTF-8"?><configurationscan="true"scanPeriod="30 seconds"><!-- 1. 基础变量定义 --><propertyname="LOG_APP_NAME"value="SmartProcurement"/><propertyname="LOG_BASE_PATH"value="logs"/><propertyname="LOG_PATTERN"value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n"/><!-- 2. 控制台输出配置 --><appendername="CONSOLE"class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>${LOG_PATTERN}</pattern><charset>UTF-8</charset></encoder></appender><!-- 3. 普通日志文件输出(按天滚动 + 大小切割) --><appendername="FILE"class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${LOG_BASE_PATH}/${LOG_APP_NAME}.log</file><rollingPolicyclass="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>${LOG_BASE_PATH}/${LOG_APP_NAME}-%d{yyyy-MM-dd}.%i.log</fileNamePattern><maxHistory>30</maxHistory><timeBasedFileNamingAndTriggeringPolicyclass="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"><maxFileSize>100MB</maxFileSize></timeBasedFileNamingAndTriggeringPolicy></rollingPolicy><encoder><pattern>${LOG_PATTERN}</pattern><charset>UTF-8</charset></encoder></appender><!-- 4. 错误日志单独输出 --><appendername="ERROR_FILE"class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${LOG_BASE_PATH}/${LOG_APP_NAME}-error.log</file><filterclass="ch.qos.logback.classic.filter.LevelFilter"><level>ERROR</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter><rollingPolicyclass="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>${LOG_BASE_PATH}/${LOG_APP_NAME}-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern><maxHistory>30</maxHistory><timeBasedFileNamingAndTriggeringPolicyclass="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"><maxFileSize>100MB</maxFileSize></timeBasedFileNamingAndTriggeringPolicy></rollingPolicy><encoder><pattern>${LOG_PATTERN}</pattern><charset>UTF-8</charset></encoder></appender><!-- 5. SQL 日志单独配置(MyBatis/MyBatis-Plus 场景) --><loggername="com.iflytek.knowledge.mapper"level="DEBUG"additivity="false"><appender-refref="CONSOLE"/><appender-refref="FILE"/></logger><!-- 6. 按环境区分日志级别 --><springProfilename="test"><rootlevel="INFO"><appender-refref="CONSOLE"/><appender-refref="FILE"/><appender-refref="ERROR_FILE"/></root></springProfile><springProfilename="prod"><!-- <root level="INFO">--><!-- <appender-ref ref="FILE"/>--><!-- <appender-ref ref="ERROR_FILE"/>--><!-- </root>--><!-- &lt;!&ndash; 生产环境关闭 SQL 调试日志 &ndash;&gt;--><!-- <logger name="com.iflytek.knowledge.mapper" level="INFO" additivity="false">--><!-- <appender-ref ref="FILE"/>--><!-- </logger>--><rootlevel="INFO"><appender-refref="CONSOLE"/><appender-refref="FILE"/><appender-refref="ERROR_FILE"/></root></springProfile></configuration>
http://www.rkmt.cn/news/111531.html

相关文章:

  • 2025年优测压测平台与JMeter效率成本对比及行业实践
  • 基于微信小程序的跑腿系统的设计与实现毕业设计项目源码
  • Arbess从基础到实践(15) - 集成GitLab实现Java项目自动化构建并多主机部署
  • 基于SpringBoot的宠物成长监管系统的设计与实现(毕业设计项目源码+文档)
  • 敏捷测试团队转型,从质量守门员到质量赋能者
  • 基于SpringBoot的宠物店管理系统(毕业设计项目源码+文档)
  • 测试团队敏捷转型实施路径:以思维、流程、能力、价值为核心的四重变革
  • 2025年优测数据库压测工具:新功能上线的性能验证实践
  • ASJ10-GQ自复式过欠压保护器,电网波动的“隐形防护盾”
  • 如何通过动环监控系统提升机房安全与管理效率?
  • 应“双碳”考核!安科瑞通信机房能耗监测方案,让PUE管控精准落地
  • .NET周刊【11月第5期 2025-11-30】
  • 计算机网络(三):从 HTTP 1.0 到 3.0,“数据快递员”的4代升级路
  • 消息队列rabbitmq和kafka及其他MQ
  • Dify存储架构深度剖析:解锁高并发视频帧提取的终极密码
  • 常用Linux及DOS命令
  • MySQL迁移达梦数据库,Quartz报错“无效的表或视图名”
  • 唐老师c#学习笔记记录
  • 基于Python的电商用户行为分析系统(源代码+文档+PPT+调试+讲解)
  • axios 类似的库有哪些
  • 与 ahooks 类似的 React Hooks 工具库有:
  • Dify如何高效对接Spring AI?3个核心技巧让你少走3个月弯路
  • 题解:P14733 [ICPC 2022 Seoul R] Two Choreographies
  • 【量子计算DevOps进阶必备】:深度剖析镜像缓存加速构建的底层逻辑
  • Dify工作流为什么总走错分支?:一文定位条件判断配置缺陷
  • 加密解密
  • JUnit 5 中的 @ClassTemplate 实战指南
  • swift中的for循环
  • 为什么顶尖团队都在用R+Python做可视化?真相令人震惊
  • 弹论:金融市场的趋势指南针