Appender 配置
大约 1 分钟
在 Logback 中,appender
标签用于定义日志输出的目的地。每个 Appender 负责将日志事件(如错误、警告、信息等)写入指定的目标,例如文件、控制台、数据库、远程服务器等。Logback 提供了多种类型的 Appender,可以根据需要将日志输出到不同的地方。
Logback 提供了多种类型的 Appender:
ConsoleAppender
- 作用: 将日志输出到控制台(标准输出或错误输出)。
- 类名:
ch.qos.logback.core.ConsoleAppender
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
FileAppender
- 作用: 将日志输出到指定文件中。
- 类名:
ch.qos.logback.core.FileAppender
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>logs/app.log</file>
<append>true</append>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
RollingFileAppender
- 作用: 将日志输出到文件中,并根据条件(如时间、文件大小)进行日志滚动(即创建新日志文件)。
- 类名:
ch.qos.logback.core.rolling.RollingFileAppender
<appender name="ROLLING_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logs/app.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logs/app-%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
AsyncAppender
- 作用: 异步地处理日志事件,以减少日志记录对应用程序性能的影响。
- 类名:
ch.qos.logback.classic.AsyncAppender
<appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="FILE"/>
</appender>
SMTPAppender
- 作用: 将日志事件通过电子邮件发送出去,通常用于发送严重错误或异常。
- 类名:
ch.qos.logback.classic.net.SMTPAppender
<appender name="EMAIL" class="ch.qos.logback.classic.net.SMTPAppender">
<smtpHost>smtp.example.com</smtpHost>
<to>admin@example.com</to>
<from>log@example.com</from>
<subject>Error in Application</subject>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n</pattern>
</layout>
</appender>