文章目录
- 获取 QQ 邮箱授权码
- 添加依赖
- 编写 SMTPAppender
- 运行结果
 
要将 Logback 输出日志到 QQ 邮箱,需要执行以下步骤:
- 在 QQ 邮箱中获取授权码。
- 在你的 SpringBoot 项目中添加 Logback 依赖和 SMTP 协议实现库,例如 Email 依赖。
- 在 Logback 配置文件中添加 SMTPAppender。并配置 SMTPAppender,设置 SMTP 服务器主机名、端口号、登录邮箱和密码、发送方邮箱和接收方邮箱。最后添加到 Logger 中。
- 启动项目,当有日志需要输出时,Logback 会自动将日志发送到指定的 QQ 邮箱地址。
获取 QQ 邮箱授权码
登录 QQ 邮箱 ,点击设置,开启POP3/SMTP 服务,并获取 QQ 邮箱授权码(保存好,后续需要用):

添加依赖
Spring Boot 中使用了 SLF4J + Logback 作为默认的日志框架,因此我们不需要再次添加依赖项,只需要添加 Email 的依赖即可:
<!--mail依赖-->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-mail</artifactId>
</dependency>
编写 SMTPAppender
要将日志输出到 QQ 邮箱,需要使用 SMTPAppender 和 SMTP 配置。以下是 logback-spring.xml文件的示例配置:
<configuration>
  <appender name="EMAIL" class="ch.qos.logback.classic.net.SMTPAppender">
    <!-- SMTP server的地址 -->
    <smtpHost>${user.host}</smtpHost>
    <!-- SMTP server的端口地址 -->
    <smtpPort>465</smtpPort>
    <!--发件人账号-->
    <username>${user.email}</username>
    <!--发件人授权码-->
    <password>${user.email.password}</password>
    <!--SSL连接到日志服务器,默认值:false-->
    <SSL>true</SSL>
    <!--异步发送-->
    <asynchronousSending>true</asynchronousSending>
    <!--收件人账号,多个用逗号隔开-->
    <to>${user.email}</to>
    <!-- 发件人名称 -->
    <from>${user.email}</from>
    <!-- emial的标题 -->
    <subject>【Error】:%logger{0}</subject>
    <!-- 编码 -->
    <charsetEncoding>UTF-8</charsetEncoding>
    <cyclicBufferTracker class="ch.qos.logback.core.spi.CyclicBufferTracker">
      <!-- 每个电子邮件只发送一个日志条目 -->
      <bufferSize>10</bufferSize>
    </cyclicBufferTracker>
    <!--HTML展示-->
    <layout class="ch.qos.logback.classic.html.HTMLLayout" />
    <!--文本展示-->
    <!--<layout class="ch.qos.logback.classic.layout.TTLLLayout"/>-->
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
      <!--错误级别(只会提示大于该级别的错误)-->
      <level>ERROR</level>
    </filter>
  </appender>
  <root level="DEBUG">
    <appender-ref ref="EMAIL" />
  </root>
  
</configuration>
在上面的配置中,你需要替换以下内容:
- SMTP 服务器主机名和端口号;
- QQ 邮箱地址和授权码,这里是你的 QQ 邮箱地址和授权码;
- 收件人地址,这里是收件人的电子邮件地址,可以写多个,用逗号分隔;
- 发件人地址,这里是你的QQ邮箱地址;
- 邮件主题,这里是发送的邮件主题;
- 使用的布局,这里使用 HTML 布局,你也可以选择其他的布局。
运行结果
编写方法,输出日志:
public static void main(String[] args) {
  logger.info("日志测试");
  logger.trace("日志测试");
  logger.error("日志测试1");
  logger.error("日志测试2");
  logger.error("日志测试3");
}
配置完成后,Logback 就可以将日志输出到你的QQ邮箱了。


















![[学习笔记] [机器学习] 12. [上] HMM 隐马尔可夫算法(马尔科夫链、HMM 三类问题、前后后向算法、维特比算法、鲍姆-韦尔奇算法、API 及实例)](https://img-blog.csdnimg.cn/5a94d607cc2d429a9a3dcdee3ce7f9c5.png#pic_center)
