关于log4j发邮件的功能,就是在项目上线使用后,为了更好的维护系统,我们可以将记录项目情况的log以邮件形式发送给administor,及时了解系统遇到的问题。并且及时修正,更高效方便。
准备流程:
1、首先准备log4j-1.2.15.jar,注意只有log4j-1.2.14.jar后的版本方支持邮件发送功能。以及邮件发送的jar包activation.jar、mail.jar。
2、在项目中架好log4j:首先在src源文件下建立一个log4j.properties,并在原先内容后追加如下:
到这里,如果你操作没问题,其实可以测试一下,应该就可以将log中的记录成功发送到指定邮箱中。但是,如果有中文错误信息,你是否发现有乱码呢??别苦恼,有办法解决。
其实日志显示格式都是指定了某一个layout,罗列几种显示方式: (哎……不能用图片)
SimpleLayout:ERROR-在关键字"from"附件有错误。
HTMLLayout:显示类似表格显示效果:
Time Thread Level Category Message
0 http-8080-1 ERROR dao.DownloadDao 在关键字"from"附近有语法错误
Layout是个抽象类,其子类是很多种显示格式,那么比如我想用HTMLLayout,那么我定义一个类,让其继承HTMLLayout,然后重写其getContentType方法,另外因为上面这几种layout显示方式没有显示出错误所在,不方便进行错误定位,所以我们可以自己写上一个方法,我也自己写了个,在此贴出来供大家参考。
其实主要就是覆盖了基类中两个方法,这样就基本完成了利用log4j发邮件,并且能够正确定位错误所在,以便及时修正。
效果就是:
错误等级:ERROR===错误原因:在关键字 'from' 附近有语法错误。
错误所在类dao.DownloadDao===错误方法所在:doLogin===错误行:97