源码地址:https://github.com/mistbor/Log4jSendMail

引入activation.jar           log4j.jar            mail.jar              slf4j-api.jar              slf4j-log4j.jar

项目结构搭建如下:

log4j.properties文件内容如下:

log4j.rootLogger=info,console,MAIL
log4j.logger.org.apache.mina.filter.logging.LoggingFilter=WARN
log4j.logger.com.playsnail.core.web.filter.IdentityFilter=WARN
log4j.logger.com.d1xn.common.log.Log=WARN
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%p-%d{yyyy/MM/dd/HH\:mm\:ss}]%c{1}.(%L) - %m%n
log4j.appender.console.Threshold=INFO ######################send error through email.######################
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
#日志的错误级别
log4j.appender.MAIL.Threshold=ERROR
#缓存文件大小,日志达到2时发送Email
#log4j.appender.MAIL.BufferSize=2
#发送邮件的服务器
log4j.appender.MAIL.SMTPHost=smtp.163.com
#邮件主题
log4j.appender.MAIL.Subject=Log4JErrorMessage
#发送邮件箱的用户
log4j.appender.MAIL.SMTPUsername=projectutil@163.com
#发送邮件箱的密码
log4j.appender.MAIL.SMTPPassword=my123456
#发送邮件箱
log4j.appender.MAIL.From=projectutil@163.com
#接受邮件箱
log4j.appender.MAIL.To=projectutil@163.com
#发送邮件的格式
log4j.appender.MAIL.layout=org.apache.log4j.HTMLLayout

测试类TestLog4jSendMail(临时写入log4j配置):

import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;
import org.apache.log4j.net.SMTPAppender; public class TestLog4jSendMail {
static Logger logger=Logger.getLogger(TestLog4jSendMail.class);
SMTPAppender appender=new SMTPAppender(); public TestLog4jSendMail() {
try{
appender.setSMTPUsername("projectutil@163.com");
appender.setSMTPPassword("my123456");
appender.setTo("projectutil@163.com");
appender.setFrom("projectutil@163.com");
appender.setSMTPHost("smtp.163.com");
appender.setLocationInfo(true);
appender.setSubject("Test Mail From Log4j");
appender.setLayout(new PatternLayout());
appender.activateOptions();
logger.addAppender(appender);
logger.error("测试");
}catch (Exception e){
e.printStackTrace();
} } public static void main(String[] args) {
new TestLog4jSendMail();
}
}

测试类TestLog4jSendMail2(加载log4j.properties文件)

import org.apache.log4j.Logger;

/**
* Created by ${MiaoYing} on 2017/7/12.
*/
public class TestLog4jSendMail2 {
public static void main(String[] args) {
Logger logger=Logger.getLogger(TestLog4jSendMail2.class);
int i=0;
while (i<6){
i+=1;
logger.error("Do you received message?");
}
}
}

Log4j发送邮件的更多相关文章

  1. log4j发送邮件乱码

    Log4J发日志邮件给多个接收者及标题.正文乱码问题 以前开发的系统没有单独的日志管理,所有的日志统一输出到tomcat后台一个文件里,不几天就是好几G,现在要整体增加一个Log4J管理日志的功能,其 ...

  2. 使用log4j将日志写入数据库并发送邮件

    参考: 快速了解Log4J 1.log4j的初始配置 参考该问的配置即可完整的实现写入数据库及发送邮件的功能 a.写入数据库需要配置相应的jar包,数据库类型不同,请使用指定的数据库配置,该文仅限于o ...

  3. log4j详解(二)

    在实际编程时,要使Log4j真正在系统中运行事先还要对配置文件进行定义.定义步骤就是对Logger.Appender及Layout的分别使用.Log4j支持两种配置文件格式,一种是XML格式的文件,一 ...

  4. java中log4j用法详细讲解和一些小总结

    0.Log4j的用法详解 首先,在项目中的classes 中新建立一个log4j.properties文件即可: 在实际编程时,要使Log4j真正在系统中运行事先还要对配置文件进行定义.定义步骤就是对 ...

  5. springMVC发送邮件

    springMVC发送邮件 利用javax.mail发送邮件,图片与附件都可发送 1,Controller类 package com.web.controller.api; import javax. ...

  6. Java发送邮件初窥

    一.背景 最近朋友的公司有用到这个功能,之前对这一块也不是很熟悉,就和他一起解决出现的异常的同时,也初窥一下使用Apache Common Email组件进行邮件发送. 二.Java发送邮件的注意事项 ...

  7. log4j的配置信息

    首先,在项目中的classes 中新建立一个log4j.properties文件即可: 在实际编程时,要使Log4j真正在系统中运行事先还要对配置文件进行定义.定义步骤就是对Logger.Append ...

  8. 通过HtmlEmail 发送邮件

    今天第一次来上海市虹口图书馆上自习,感觉还是很爽的.自己撸代码学会了发送邮件.啥都不说了,直接撸代码吧! 首先 必须引进来三个jar包: compile 'javax.mail:mail:1.4.7' ...

  9. log4j.properties详解与例子

    在项目中的classes 中新建立一个log4j.properties文件即可: 在实际编程时,要使Log4j真正在系统中运行事先还要对配置文件进行定义.定义步骤就是对Logger.Appender及 ...

随机推荐

  1. [LeetCode&Python] Problem 821. Shortest Distance to a Character

    Given a string S and a character C, return an array of integers representing the shortest distance f ...

  2. 20分钟打造你的Bootstrap站点

    来源:http://www.w3cplus.com/css/twitter-bootstrap-tutorial.html 特别声明:此篇文章由白牙根据Leon Revill的英文文章原名<Tw ...

  3. 更适合程序员使用的Vim配置 显示行号 语法高亮 智能缩进

    在终端下使用vim进行编辑时,默认情况下,编辑的界面上是没有显示行号.语法高亮度显示.智能缩进等功能的.为了更好的在vim下进行工作,需要手动设置一个配置文件:.vimrc.在启动vim时,当前用户根 ...

  4. hdu5229

    bc41第二题: 题意:两个人有 n 个串,随机选出两个串,可以进行这样的操作:①选一个串消去最后一个字符,②若两串相同则可以全部消去两串 若到某个人时正好消去两个串,则这个人胜另一人负,问先手胜概率 ...

  5. JS Array.filter()方法

    1.filter()接收的函数可以有多个参数.通常我们只使用第一个参数,第二参数和第三个参数表示元素的位置和数组本身: //去重 var arr = ["1", "2&q ...

  6. 迭代器Iterator的底层实现原理

    第一步:没有接口的迭代器简单实现原理 package com.bjsxt.xiaofei; /** * 迭代器底层原理 * 方法: * hasNext() * next() * remove() * ...

  7. Linux内核时间

    1. printk打印的时间戳 [ 7236.595796] usb 2-1.1: new high-speed USB device number 15 using ehci-platform st ...

  8. ory Oathkeeper cloud native 访问认证平台

    ORY Oathkeeper is an Identity & Access Proxy (IAP) that authorizes HTTP requests based on sets o ...

  9. Where is Silverlight now?

    Some time ago, I wrote an article about the comparison between HTML5 and Silverlight. That article w ...

  10. php登陆绑定手机验证码使用阿里大于接口

    https://doc.alidayu.com/doc2/index.htm  一条0.045 元  新注册送10块