<?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>--><!-- <!– 生产环境关闭 SQL 调试日志 –>--><!-- <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>日志打印配置:logback-spring.xml配置;info和error完全区分了,并且按时间拆分了
张小明
前端开发工程师
清华镜像助力国产化AI生态:稳定供应TensorFlow等核心框架
清华镜像助力国产化AI生态:稳定供应TensorFlow等核心框架 在当今AI技术加速落地的浪潮中,深度学习框架早已不再是实验室里的“玩具”,而是支撑金融风控、医疗影像、自动驾驶等关键业务系统的工业级引擎。然而,当一个企业或研究团…
装配机器人推荐,从技术原理到选型指南,解锁智能制造新动力
在工业4.0浪潮席卷全球的当下,智能制造已成为企业突破产能瓶颈、提升核心竞争力的关键路径。而装配机器人作为智能制造生产线的“核心执行者”,正从汽车制造、3C电子等传统领域,逐步渗透到半导体封装、新能源电池生产、生物医药等高端场景。小…
重庆数字化X射线影像DR设备优质品牌哪家好
重庆数字化X射线影像DR设备优质品牌哪家好在医疗领域,数字化X射线影像DR设备的重要性不言而喻。重庆作为医疗设备产业发展的重要地区,有不少品牌的数字化X射线影像DR设备可供选择,其中重庆东恩科技有限公司表现十分亮眼。强大的自主研发实力东…
全面整理15款文档生成PPT工具,PDF转PPT不再难
告别文档转PPT难题!轻竹办公让转换轻松高效在职场中,我们常常会遇到这样的场景:辛辛苦苦撰写好的文档,要转换成PPT用于年终总结、项目汇报等重要场合。然而,这个过程却充满了各种痛点。有的人熬夜修改PPT,内…
动手学数据分析:实战系列(第一天)
Hands-on data analysis— 动手学数据分析 写在最前面 这门课程得主要目的是通过真实的数据,以实战的方式了解数据分析的流程和熟悉数据分析python的基本操作。知道了课程的目的之后,我们接下来我们要正式的开始数据分析的实战教学,完成kagg…
基于SpringBoot农产品商城系统毕业设计项目源码
题目简介在农产品产销环节存在 “产地与消费端对接低效、流通环节多、品控难追溯、农户收益低” 的行业痛点背景下,基于 SpringBoot 的农产品商城系统的构建具有重要现实意义与产业价值:从农户 / 产地端来看,系统打破传统线下批发的地域限制&…