一、添加依赖
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1.1</version>
</dependency>
二、编写log4j.properties文件,该文件需位于classpath文件包含的目录下
log4j.rootLogger=DEBUG,D,MAIL
### log file ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File =../logs/error.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = ERROR
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = [%p] [%-d{yyyy-MM-dd HH:mm:ss}] %C.%M(%L) | %m%n
### mail ###
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
log4j.appender.MAIL.Threshold=ERROR
log4j.appender.MAIL.BufferSize=10
log4j.appender.MAIL.From=x.x@x.com
log4j.appender.MAIL.SMTPHost=mail.x.com
log4j.appender.MAIL.SMTPPort=587
log4j.appender.MAIL.SMTPUsername=xx
log4j.appender.MAIL.SMTPPassword=xx
log4j.appender.MAIL.SMTPDebug=true
log4j.appender.MAIL.Subject=Log4JErrorMessage
log4j.appender.MAIL.To=x.x@x.com
#log4j.appender.MAIL.layout=org.apache.log4j.HTMLLayout
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
log4j.appender.MAIL.layout.ConversionPattern=%d %-5p [%t] (%c{1}:%L) - %m%n
三、测试
import org.apache.log4j.Logger;
public class Log4jTest {
private static Logger logger=Logger.getLogger(Log4jTest.class);
public static void main(String[] args) {
// TODO 自动生成的方法存根
logger.error("error...");
logger.info("info...");
}
}
运行后会发现项目根目录会生错误成日志文件,同时将错误日志发送邮件通知。