春季启动 - 使用日志返回发送电子邮件SMTPAppender for Gmail (STARTTLS)
2022-09-01 17:50:54
我正在尝试将 Logback 配置为在发生异常(日志记录级别:错误)时发送电子邮件。到目前为止,我一直无法使其正常工作,因此我想请求您的配置帮助。
我有一个Spring启动应用程序,其中进行了一些处理:
private void foo() {
try {
// do something
} catch (Exception e) {
log.error("Logging my exception");
}
}
每当记录此错误时,我想触发一封电子邮件。我遵循了一些教程,并将logback.xml和smtp-appender.xml添加到我的目录中:resources
日志返回.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml" />
<include resource="smtp-appender.xml" />
<logger name="com.mycompany" level="DEBUG">
<appender-ref ref="SMTP" />
</logger>
</configuration>
smtp-appender.xml
<?xml version="1.0" encoding="UTF-8"?>
<included>
<appender name="SMTP" class="ch.qos.logback.classic.net.SMTPAppender">
<smtpHost>xxx</smtpHost>
<username>user</username>
<password>password</password>
<to>test@email.com</to>
<from>me@email.com</from>
<subject>testError</subject>
<layout class="ch.qos.logback.classic.html.HTMLLayout" />
</appender>
</included>
我已通过 在本地主机上设置了本地 smtp 服务器。我也尝试过使用AWS smtp服务器和Gmail。到目前为止,这些服务都不适合我。sendmail
问题是,在异常发生后,我没有收到任何电子邮件,并且实际上没有与logback相对应的输出(当然,除了输出之外),这使我认为应用程序甚至不知道这些配置文件...log.error()
这些是我在pom中的maven依赖项.xml:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.5.RELEASE</version>
<relativePath />
<!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20141113</version>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4</version>
</dependency>
</dependencies>
任何帮助将不胜感激。