问题:但愿将订单错误日志输出到特定日志文件,方便查看,避免与其余日志混在一块html
解决思路:经过logback配置输出文件,使用logger输出日志java
解决办法:spring
配置:【logback-spring.xml】app
<!-- 定义订单异常日志输出文件 目的:但愿提交订单出错信息可单独输出到指定日志文件,方便查看 --> <appender name="ERROR_ORDER_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> <File>log/food/error-order.log</File> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>log/food/error-order-%d{yyyyMMdd}.log.%i</fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>50MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <maxHistory>2</maxHistory> </rollingPolicy> <layout class="ch.qos.logback.classic.PatternLayout"> <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n </Pattern> </layout> </appender> <!-- 定义logger名称,指定日志输出文件 使用方式: // 获取logger Logger logger = LoggerFactory.getLogger("ERROR_ORDER"); // 输出日志 logger.error("====error"); --> <logger name="ERROR_ORDER" additivity="false"> <appender-ref ref="ERROR_ORDER_FILE"/> </logger>
测试代码dom
/** * 测试order异常日志输出 * order相关日志输出到特定文件 * Created by William on 2017/12/17. */ @RunWith(SpringRunner.class) @SpringBootTest public class OrderLoggerTest { private Logger logger = LoggerFactory.getLogger("ERROR_ORDER"); [@Before](https://my.oschina.net/u/3870904) public void setUp() { } [@Test](https://my.oschina.net/azibug) public void testAll() { logger.info("====info"); logger.warn("====warn"); logger.error("====error"); } } <!-- 定义订单异常日志输出文件 目的:但愿提交订单出错信息可单独输出到指定日志文件,方便查看 --> <appender name="ERROR_ORDER_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> <File>log/food/error-order.log</File> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>log/food/error-order-%d{yyyyMMdd}.log.%i</fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>50MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <maxHistory>2</maxHistory> </rollingPolicy> <layout class="ch.qos.logback.classic.PatternLayout"> <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n </Pattern> </layout> </appender> <!-- 定义logger名称,指定日志输出文件 使用方式: // 获取logger Logger logger = LoggerFactory.getLogger("ERROR_ORDER"); // 输出日志 logger.error("====error"); --> <logger name="ERROR_ORDER" additivity="false"> <appender-ref ref="ERROR_ORDER_FILE"/> </logger>
执行效果测试
解决办法总比问题多,只要去寻找就会有答案.net