logback记录日志的时候,如果出了错误,没有用try。。catch捕捉并logger.error打印的话,能输出到文件吗?
如果能该怎么配置,不过不能,每个方法都得try 也太麻烦了,还不如使用log4j
LOGBACK是可以做到的,你这是配置写错了吧
logback记录日志的时候,如果出了错误,没有用try。。catch捕捉并logger.error打印的话,能输出到文件吗?
这个是可以输出的,但一般都用 log4j,log4j可以直接记录所有日志。
一般都是log4j,好像log4j可以直接记录所有日志,具体还是要看你用的是什么运行框架.
<?xml version="1.0" encoding="UTF-8"?>
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
<!-- 文件输出格式 -->
<!-- 控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!-- %.-1level 只显示信息级别的首字母,%-5level 左对齐显示信息级别全称 -->
<Pattern>[%date{yyyy-MM-dd HH:mm:ss}] [%-5level] [%t] --%mdc{client} %msg%n</Pattern>
</encoder>
</appender>
<!-- 测试环境 -->
<springProfile name="test">
<!-- 每天产生一个文件 -->
<appender name="TEST-FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--日志文件输出的文件名-->
<FileNamePattern>${LOG_HOME}/info.log.%d{yyyy-MM-dd}.log</FileNamePattern>
<!--日志文件保留天数-->
<MaxHistory>30</MaxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>${PATTERN}</pattern>
</encoder>
<!--日志文件最大的大小-->
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>10MB</MaxFileSize>
</triggeringPolicy>
</appender>
<logger name="com.example" level="debug" />
<root level="info">
<appender-ref ref="TEST-FILE" />
</root>
</springProfile>