一、配置前的准备
还要什么准备?当然要先给邮箱开通SMTP服务啦
二、添加依赖
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.5.4</version>
</dependency>
三、SMTP配置说明
属性 | 说明 |
---|---|
name | appender 的名称 |
subject | 邮件标题 |
to | 收件人列表,以逗号隔开 7xxx@qq.com,1234@163.com |
from | 发件人 |
smtpProtocol | 协议,默认为 smtp |
smtpHost | 服务器 例:smtp.163.com |
smtpPort | 端口 |
smtpPassword | 密码 |
smtpUsername | 用户名 |
bufferSize | 要缓冲以包含在消息中的最大日志事件数(默认为512) |
smtpDebug | 当设置为true时,可以在控制台上输出调试信息,默认为false |
replyTo | 以逗号分隔的回复电子邮件地址列表 |
cc | 明文抄送用户列表,多个以逗号隔开 |
bcc | 密文抄送用户列表,多个以逗号隔开 |
四、log4j2.xml配置
<Appenders>
<SMTP name="Mail" subject="Error Log" to="1072307340@qq.com" from="developerclub@zhengmingliang.xin" replyTo="developerclub@zhengmingliang.xin"
smtpHost="smtp.zhengmingliang.xin" smtpDebug="true" smtpProtocol="smtp" smtpUsername="developerclub@zhengmingliang.xin" smtpPassword="Dc0029630628" smtpPort="25" bufferSize="50">
</SMTP>
</Appenders>
<Loggers>
<!--方式 1-->
<Logger name="mail" level="error" additivity="false">
<AppenderRef ref="Mail"/>
</Logger>
</Loggers>
<!--方式 2-->
<Root level="error">
<AppenderRef ref="Mail"/>
</Root>
五、日志打印
日志打印有两种调用方式
org.apache.logging.log4j.Logger logger = org.apache.logging.log4j.LogManager.getLogger("mail");
logger.error("error log")
org.apache.logging.log4j.Logger logger = org.apache.logging.log4j.LogManager.getLogger();
logger.error("error log")
想了解更多可以去看下官方文档
六、注意事项
注意,log4j2.xml这个名字是默认的,放在resource
目录下的,如果你是采用默认的,那么web.xml
里就不需要配置. 如果需要自定义路径记得在web.xml里如下配置
<context-param>
<param-name>log4j2ConfigLocation</param-name>
<param-value>classpath:config/log4j2.xml</param-value>
</context-param>