log4j在1.2.15版本之后就提供了日志功能了,今天测试了一下,能够发送邮件,以下为步骤
一、在Eclipse中创建一个maven项目,pom.xml配置如下
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.sugar</groupId>
<artifactId>log4jMail</artifactId>
<version>1.0</version>
<name>log4jMail</name>
<properties>
<jdk.version>1.7.0.51</jdk.version>
<maven-compiler-plugin.version>2.5.1</maven-compiler-plugin.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
<showWarnings>true</showWarnings>
</configuration>
</plugin>
</plugins>
</build>
</project>
二、在类路径下配置log4j的配置文件:log4j.properties
log4j.rootLogger = DEBUG,stdout,A5
#控制台打印
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.Threshold = DEBUG
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = D://logs/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = INFO
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
#邮件发送服务器
log4j.appender.A5=org.apache.log4j.net.SMTPAppender
log4j.appender.A5.Threshold = ERROR
log4j.appender.A5.BufferSize=5
log4j.appender.A5.Subject=ErrorLog
log4j.appender.A5.SMTPUsername=18116626861
log4j.appender.A5.SMTPPassword=password123
log4j.appender.A5.From=181xxxxxxxx@163.com
log4j.appender.A5.To=tangting@techstar.com.cn
log4j.appender.A5.SMTPHost=smtp.163.com
log4j.appender.A5.layout=org.apache.log4j.PatternLayout
log4j.appender.A5.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n
注:发送邮件的邮箱需要客户端授权,如何授权在网上查找,密码使用授权密码。
三、java测试类
package com.sugar;
import org.apache.log4j.Logger;
import org.apache.log4j.net.SMTPAppender;
/**
*
* @author Thinkpad
* @date 2017-6-16
*
*/
public class TestSendMail {
private static Logger log = Logger.getLogger(TestSendMail.class);
SMTPAppender appender = new SMTPAppender();
public static void main(String[] args) {
log.debug("test log4j...");
log.error("log4j邮件测试");
}
}
本文介绍了如何在log4j 1.2.15及更高版本中利用日志功能发送邮件。首先,通过在Eclipse中创建Maven项目并配置pom.xml来引入相关依赖。接着,配置log4j.properties文件以设置邮件参数。最后,通过编写Java测试类实现邮件发送的功能。
1万+

被折叠的 条评论
为什么被折叠?



