深入理解 SpringBoot 日志框架:从入门到高级应用——(四)Logback 输出日志到 QQ邮箱

文章目录

    • 获取 QQ 邮箱授权码
    • 添加依赖
    • 编写 SMTPAppender
    • 运行结果

要将 Logback 输出日志到 QQ 邮箱,需要执行以下步骤:

  1. 在 QQ 邮箱中获取授权码。
  2. 在你的 SpringBoot 项目中添加 Logback 依赖和 SMTP 协议实现库,例如 Email 依赖。
  3. 在 Logback 配置文件中添加 SMTPAppender。并配置 SMTPAppender,设置 SMTP 服务器主机名、端口号、登录邮箱和密码、发送方邮箱和接收方邮箱。最后添加到 Logger 中。
  4. 启动项目,当有日志需要输出时,Logback 会自动将日志发送到指定的 QQ 邮箱地址。

获取 QQ 邮箱授权码

登录 QQ 邮箱 ,点击设置,开启POP3/SMTP 服务,并获取 QQ 邮箱授权码(保存好,后续需要用):

image-20210721183022698

添加依赖

Spring Boot 中使用了 SLF4J + Logback 作为默认的日志框架,因此我们不需要再次添加依赖项,只需要添加 Email 的依赖即可:


<dependency>
  <groupId>org.springframework.bootgroupId>
  <artifactId>spring-boot-starter-mailartifactId>
dependency>

编写 SMTPAppender

要将日志输出到 QQ 邮箱,需要使用 SMTPAppender 和 SMTP 配置。以下是 logback-spring.xml文件的示例配置:

<configuration>
  <appender name="EMAIL" class="ch.qos.logback.classic.net.SMTPAppender">
    
    <smtpHost>${user.host}smtpHost>
    
    <smtpPort>465smtpPort>
    
    <username>${user.email}username>
    
    <password>${user.email.password}password>
    
    <SSL>trueSSL>
    
    <asynchronousSending>trueasynchronousSending>
    
    <to>${user.email}to>
    
    <from>${user.email}from>
    
    <subject>【Error】:%logger{0}subject>
    
    <charsetEncoding>UTF-8charsetEncoding>

    <cyclicBufferTracker class="ch.qos.logback.core.spi.CyclicBufferTracker">
      
      <bufferSize>10bufferSize>
    cyclicBufferTracker>

    
    <layout class="ch.qos.logback.classic.html.HTMLLayout" />
    
    

    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
      
      <level>ERRORlevel>
    filter>
  appender>

  <root level="DEBUG">
    <appender-ref ref="EMAIL" />
  root>
  
configuration>

在上面的配置中,你需要替换以下内容:

  1. SMTP 服务器主机名和端口号;
  2. QQ 邮箱地址和授权码,这里是你的 QQ 邮箱地址和授权码;
  3. 收件人地址,这里是收件人的电子邮件地址,可以写多个,用逗号分隔;
  4. 发件人地址,这里是你的QQ邮箱地址;
  5. 邮件主题,这里是发送的邮件主题;
  6. 使用的布局,这里使用 HTML 布局,你也可以选择其他的布局。

运行结果

编写方法,输出日志:

public static void main(String[] args) {
  logger.info("日志测试");
  logger.trace("日志测试");
  logger.error("日志测试1");
  logger.error("日志测试2");
  logger.error("日志测试3");
}

配置完成后,Logback 就可以将日志输出到你的QQ邮箱了。

深入理解 SpringBoot 日志框架:从入门到高级应用——(四)Logback 输出日志到 QQ邮箱_第1张图片

你可能感兴趣的:(日志框架,#,SpringBoot,spring,boot,logback,java)