如何使用 slf4j / log4j2 发送电子邮件通知?

j w*_*ill 5 java slf4j maven smtpappender log4j2

我研究了其他类似的问题,并进行了一些谷歌搜索来找到我的答案,但我的问题仍然没有答案。我仍然不熟悉其中一些是如何工作的,所以请耐心等待。

我们的 maven pom.xml 使用 slf4j 依赖项:

pom.xml 使用maven导入slf4j

我们的 log4j2.xml 文件如下所示:

包含 smtp 附加程序的 log4j2.xml 文件

我只将其添加到上面的 log4j2.xml 文件中<SMTP name="Mail" ...> </SMTP>,并在我添加的文件的下方<logger name="com.path.class1" ...> <appender ...> </logger>

但由于某种原因,当我调用 log.error("error message") 时,我的电子邮件没有发送给我。我知道 smtp 主机可以工作,因为它用于 .NET 服务。smtp 服务器不需要任何凭据即可使用它。我知道我的 log.error 调用位于正确的目录和文件路径中。我尝试过设置端口,但这没有任何区别。我该如何让电子邮件通知发挥作用?

我什至尝试了 mailAppender,但这也不起作用:在此输入图像描述

j w*_*ill 2

所以我终于能够让 SMTP 通知正常工作了。这是使它工作的 log4j2.xml 文件:

在此输入图像描述