如何使用javamail API和log4j

时间:2016-01-21 11:56:50

标签: java log4j

我创建了一个带有log4j日志的xml验证工具,以使用java获取错误详细信息。 现在我需要将我在log4j日志文件中获取的内容的整个内容邮寄(邮件中带有背景颜色)。

请指导我实现这一点,并附上了我的log4j日志文件和电子邮件格式的屏幕截图。

Screenshot for log and email

以下是我的java代码。

Log 4j Properties:

#Log to Console as STDOUT
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd 
HH:mm:ss}     %-5p %c %3x - %m%n
#Log to file FILE
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=D:\logfile.log
log4j.appender.file.DatePattern='.'dd/MM/yyyy
log4j.appender.file.append=true
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern= %m%n
# LOG4J daily rolling log files configuration
log4j.rootLogger=DEBUG, RollingAppender
log4j.appender.RollingAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.RollingAppender.File=D:\logfile.log
log4j.appender.RollingAppender.DatePattern='.'yyyy-MM-dd
log4j.appender.RollingAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.RollingAppender.layout.ConversionPattern= %m%n

java邮件代码:

MimeMessage message = new   
MimeMessage(session);                                   
m_toterr=validatexml.Total_err;
message.setFrom(new InternetAddress(from));   
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to1));
String htmlBody = "<!DOCTYPE html><html><head><title>Page Title</title>"
                        + "</head><body><center><table " 
                        +"   border-width:5px;  "
                        +"   border-style:dotted;"
                        +"border-style: double;"

。 。 。

1 个答案:

答案 0 :(得分:0)

Log4j有SMTP appender来发送电子邮件,我提供了一个xml lof4j示例,您可以将其更改为属性并尝试...谢谢

<appender name="ErrorEmailAppender" class="org.apache.log4j.net.SMTPAppender">
    <param name="SMTPHost" value="mail.mydomain.com" />
    <param name="SMTPUsername" value="myuser@mydomain.com" />
    <param name="SMTPPassword" value="password" />
    <param name="From" value="myuser@mydomain.com" />
    <param name="To" value="myuser@mydomain.com" />
    <param name="Subject" value="Log of messages" />
    <param name="BufferSize" value="1" />
    <param name="EvaluatorClass" value="TriggerLogEvent" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%t %m%n"/>
    </layout>
</appender>

<logger name="com.foo.mailer">
    <level value="INFO" />
    <appender-ref ref="ErrorEmailAppender"/>
</logger>