代码之家  ›  专栏  ›  技术社区  ›  Kilian

从SMTPAppender配置日志级别

  •  0
  • Kilian  · 技术社区  · 6 年前

    SMTPAppender只在循环缓冲区中保存最后一个BufferSize日志事件。这使得内存需求保持在合理的水平,同时仍然提供有用的应用程序上下文。缓冲区中的所有事件都包含在电子邮件中。缓冲区将包含最新级别的事件 跟踪 警告 在触发电子邮件的事件之前。

    错误 或更高严重性的事件被记录,并将其格式化为HTML。可以通过在Appender上设置一个或多个过滤器来控制电子邮件何时发送的情况。 Log4j2 SMTPAppender

    comment 这个 电子邮件发送 阈值滤波器 . 配置阈值筛选器会更改触发发送电子邮件的事件级别,但不会影响将保存在缓冲区中的内容。

    更改记录器级别本身是不可行的,因为事件也应由其他附加程序处理。

    <Appender>
        ....
        <SMTP name="Mail" subject="Error Log"
            to="${mailTo}" smtpHost="smtp.googlemail.com"
            smtpProtocol="smtps" smtpPort="465" bufferSize="512"
            smtpUsername="${smtpUsername}"
            smtpPassword="${smtpPassword}">
            <ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY"/>
        </SMTP>
        <Async name="AsyncMail">
            <AppenderRef ref="Mail" />
        </Async>
    </Appenders>
    <Loggers>
        <Logger name="com.github.kilianB" level="trace">
            <AppenderRef ref="STDOUT" />
            <AppenderRef ref="FILE" />
            <AppenderRef ref="AsyncMail" />
        </Logger>
    </Loggers>
    
    0 回复  |  直到 6 年前