logback 记录异常日志到文件

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

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

e.getMessage() ??

看一下spring官网

<!-- 只用保存输出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>

<?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>