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

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

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

pom.xml从使用maven导入slf4j

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

包含smtp appender的log4j2.xml文件

我只将其添加到上面的log4j2.xml文件 并在文件中向下添加

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

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

在你的log4j.xml中

尝试使用Mail Appender进行配置

确保您能够使用服务器的SMTP发送电子邮件。

  

                      

你不能混合log4j2和log4j-1.x appender。 Log4J2 SMTP appender应该可以工作。

我怀疑发生了一些错误。 你在类路径中有java邮件jar吗? 您是否可以更改log4j2.xml配置的开头,以便将调试消息打印到控制台?

  

所以我终于能够获得SMTP通知了。 这是使其工作的log4j2.xml文件:

在此处输入图像描述