方法一:
1. java 代码写法
static Logger logger1 = Logger.getLogger(ActivityAction.class);
//随便写个测试方法,方法里写一下代码
try {
JSONArray a = null;
a.size();
} catch (Exception e) {
appender.setSMTPUsername("***@***.com");//这里写邮箱地址,以阿里企业邮箱为例
appender.setSMTPPassword("***"); //邮箱密码
appender.setTo("***@***.com"); // 邮件发送给谁
appender.setFrom("***@***.com"); //发送方邮箱
appender.setSMTPHost("smtp.mxhichina.com"); //阿里邮箱的smtphost, 如果是其他邮箱,需要改成其他邮箱的smtphost
appender.setLocationInfo(true);
appender.setSubject("Test Mail From Log4J"); //主题
appender.setLayout(new PatternLayout());
appender.activateOptions();
logger1.addAppender(appender);
logger1.error("Hello World : 出错啦!", e);
e.printStackTrace();
logger1.info("Printing ERROR Statements", e);
}
//这样就可以发送邮件了,哦!对了,还需要在邮箱里设置打开smtp
方法二:
在log4j.xml里做配置
<appender name="mail.MAIL"
class="org.apache.log4j.net.SMTPAppender">
<param name="threshold" value="debug" />
<!-- 缓存文件大小,日志达到0K时发送Email,单位k -->
<param name="BufferSize" value="0" />
<param name="From" value="***@***.com" />
<param name="SMTPHost" value="smtp.mxhichina.com" />
<param name="Subject" value="juyee-log4jMessage" />
<param name="To" value="***@***.com" />
<param name="SMTPUsername" value="***@***.com" />
<param name="SMTPPassword" value="***" />
<!-- <param name="SMTPDebug" value="false" /> -->
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="[framework]%d - %c -%-4r[%t]%-5p %c %x -%m%n" />
</layout>
</appender>
<!-- 发邮件 -->
<logger name="com.tuyoo">
<level value="debug" />
<appender-ref ref="mail.MAIL" />
</logger>
//用这个配置时,需要在catch到错误的地方logger.error("Hello World ", e);才会发送邮件
log4j.xml需要在web.xml里做配置
<context-param>
<param-name><context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/config/log4j.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener></param-name>
<param-value>/WEB-INF/config/log4j.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
//下面是个自定义的级别的方法,还没做测试
http://dxx23.iteye.com/blog/1084401