2 tianlovemi tianlovemi 于 2018.01.11 19:44 提问

logback 记录异常日志到文件 10C

logback 如何配置让异常信息全部记录到日志,而不是只记录异常的第一行,现在可以
把日志写进文件,但是不知道怎么把系统异常都写进去

5个回答

xinxinaichong
xinxinaichong   2018.01.11 22:45

异常都会写入的,不会只有一行

tianlovemi
tianlovemi 试了不少别人写的,都不能把异常写进日志,今天去官网看看为什么没写进去;有推荐的吗?
5 个月之前 回复
u012995856
u012995856   2018.01.11 22:48

e.getMessage() ??

tianlovemi
tianlovemi 不是的,这样日志只会有一行记录,我想把系统日志都写进去;最近在学习,还不太清楚
5 个月之前 回复
vancysheva
vancysheva   2018.01.12 00:12

看一下spring官网

tianlovemi
tianlovemi 正有这个打算,有推荐可以学习的吗?
5 个月之前 回复
qq_40556738
qq_40556738   2018.01.12 16:22
<!-- 只用保存输出error级别的日志 -->
<appender name="file.error"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <File>${log.base}/${log.moduleName}_err.log</File>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <FileNamePattern>${log.base}/archive/${log.moduleName}_err_%d{yyyy-MM-dd}.%i.log.zip
        </FileNamePattern>
        <timeBasedFileNamingAndTriggeringPolicy
            class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <maxFileSize>${log.max.size}</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>
    <layout class="ch.qos.logback.classic.PatternLayout">
        <pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{56}.%method\(\):%L - %msg%n</pattern>
    </layout>
    <!-- 下面为配置只输出error级别的日志 -->
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
        <level>ERROR</level>
        <onMatch>ACCEPT</onMatch>
        <onMismatch>DENY</onMismatch>
    </filter>
</appender>
doublelife_ke
doublelife_ke   2018.01.13 10:34

<?xml version="1.0" encoding="UTF-8"?>

<property resource="logback.properties"/>

<!-- 控制台日志输出配置 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
    <!-- encoder默认配置为PartternLayoutEncoder -->
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <!-- %d日期,%p日志级别,%file文件名,%line所在行数,%m输出的信息,%n换行 -->
        <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{80} -%msg%n</pattern>
        <!--字符编码-->
        <charset>UTF-8</charset>
    </encoder>
</appender>

<!--日志文件配置-->
<appender name="ROLLING_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <!--被写入的文件名,可以是相对目录,也可以是绝对目录,如果上级目录不存在会自动创建,没有默认值。-->
    <file>${logback.dir}/${logback.fileName}</file>
    <!--滚动记录文件:根据时间来制定滚动策略-->
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>E:logs/log.log-%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
        <maxHistory>30</maxHistory>
        <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <maxFileSize>64 MB</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>
    <!-- 日志输出格式 -->
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        <charset>UTF-8</charset>
    </encoder>
</appender>

<!-- (改)过滤器,可以指定哪些包,哪个记录到等级, -->
<!-- 运用的场景比如,你只需要com.demo.controller包下的error日志输出。定义好name="com.demo.controller" level="ERROR" 就行了 -->
<!--<logger name="com.zjk.mapper" level="debug">
    <appender-ref ref="ROLLING_FILE"/>
</logger>-->

<!--指定日志输出等级-->
<root level="debug">
    <appender-ref ref="CONSOLE"/>
</root>

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!