Java Log4j SMTPappender错误

Java Log4j SMTPappender错误,java,log4j,Java,Log4j,我正在尝试使用log4j SMTPappender获取以下信息。错误。所有其他附加器都工作正常 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <!--

我正在尝试使用log4j SMTPappender获取以下信息。错误。所有其他附加器都工作正常

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

<!--                          -->
<!-- Declare the SMTPAppender -->
<!--                          -->
<appender name="EMAIL"  class="org.apache.log4j.net.SMTPAppender">
    <param name="BufferSize" value="512" />
    <param name="SMTPHost" value="relaymail.xxx.com" />
    <param name="From" value="xxx@xxx.com" />
    <param name="To" value="xxx@xxx.com" />
    <param name="Subject" value="[SMTPAppender] Application message" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern"
          value="[%d{ISO8601}]%n%n%-5p%n%n%c%n%n%m%n%n" />
    </layout>
    <filter class="org.apache.log4j.varia.LevelRangeFilter">
        <param name="LevelMin" value="ERROR"/>
        <param name="LevelMax" value="FATAL"/>
    </filter>
</appender>

<!--                           -->
<!-- setup log4j's root logger -->
<!--                           -->
<root>
    <level value="all" />
    <appender-ref ref="EMAIL" />
</root>

在类路径中需要mail.jar和activation.jar

关于第二个错误,JoseK是对的。但是,第一个错误是:

log4j:警告可继续分析错误 31和23列log4j:警告 元素类型的内容 “log4j:配置”必须匹配 “(渲染 er*,throwableRenderer?,appender*,plugin*,(类别|记录器)*,根目录?,(CategoryFactory) ry |伐木厂?)”

通常指两件事之一:

  • 您没有根记录器
  • 您没有正确关闭标签
由于您有根记录器,因此可以通过确保文件中的最后一个标记如下所示来消除第一个错误:

</log4j:configuration>

在您的情况下,它缺失或采用以下格式:

</log4j>

</log4j>