`
luckaway
  • 浏览: 137773 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

log4j 邮件 配置

阅读更多
Log4j在java项目中应该非常广泛的一个工具。但经常的去检查日志是非常繁琐的一个事情,
有时,我们就需要配置log4j 发送邮件!

首先需要三个jar包:

log4j-1.2.15.jar(版本低于log4j-1.2.14.jar不支持smtp认证)、mail.jar、activation.jar




先用编码方式测试邮件是否能发送。

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("username");
			appender.setSMTPPassword("password");
			appender.setTo("xxx@xxx.com");
			appender.setFrom("yyy@yyy.com");
			// SMTP服务器 smtp.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("Hello World");
		} catch (Exception e) {
			e.printStackTrace();
			logger.error("Printing ERROR Statements", e);
		}
	}
	public static void main(String args[]) {
		new TestLog4jSendMail();
	}
}



log4j.properties


log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
# 日志的错误级别
log4j.appender.MAIL.Threshold=ERROR
# 缓存文件大小,日志达到512K时发送Email
#log4j.appender.MAIL.BufferSize=0
# 发送邮件的服务器
log4j.appender.MAIL.SMTPHost=pop.ttt.com
#邮件主题
log4j.appender.MAIL.Subject=ErrorMessage
#发送邮件箱的用户
log4j.appender.MAIL.SMTPUsername=username
#发送邮件箱的密码
log4j.appender.MAIL.SMTPPassword=password
#发送邮件箱
log4j.appender.MAIL.From=yyy@yyy.com
#接受邮件箱
log4j.appender.MAIL.To=xxx@xxx.com

log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout

#com.study.logMail包下面的ERROR级别以上的log都是采用邮件发送
log4j.logger.com.study.logMail = ERROR,MAIL


Log4jSendMail.java 注意:要放在在com.study.logMail下面

package com.study.logMail;
import org.apache.log4j.Logger;

public class Log4jSendMail {
	private static final Logger logger = Logger.getLogger(Log4jSendMail.class);

	public static void main(String args[]) {
		logger.error("Do you received message?");
	}
}



用公司自己的邮件系统试过已经能发送成功了!!!!
分享到:
评论
8 楼 Golden_Sky 2015-01-16  
需要自己写代码来调用么?还是他自己如果有配置级别的错误时候他就会触发呢?
7 楼 Golden_Sky 2015-01-16  
luckaway 写道
我想相信问一下,这个如果在配置文件中配置好了,比如我调整的级别是DEBUG,那系统如果报Exception了他就自动发邮件到我配置的邮箱中么?还是比如说我觉得这一段可能要出错,为就用东西把他抱起来,如果出错了就发邮件呢?

6 楼 Golden_Sky 2015-01-16  

panda_eyes 写道
我也试用过了  还用这个在工作交流会上讲了一下 呵呵

我想相信问一下,这个如果在配置文件中配置好了,比如我调整的级别是DEBUG,那系统如果报Exception了他就自动发邮件到我配置的邮箱中么?还是比如说我觉得这一段可能要出错,为就用东西把他抱起来,如果出错了就发邮件呢?
5 楼 Golden_Sky 2015-01-16  
sealv 写道
你这个是啥版本 为啥我这没有setSMTPUsername 和setSMTPPassword 方法

我想相信问一下,这个如果在配置文件中配置好了,比如我调整的级别是DEBUG,那系统如果报Exception了他就自动发邮件到我配置的邮箱中么?还是比如说我觉得这一段可能要出错,为就用东西把他抱起来,如果出错了就发邮件呢?
4 楼 Golden_Sky 2015-01-16  
我想相信问一下,这个如果在配置文件中配置好了,比如我调整的级别是DEBUG,那系统如果报Exception了他就自动发邮件到我配置的邮箱中么?还是比如说我觉得这一段可能要出错,为就用东西把他抱起来,如果出错了就发邮件呢?
3 楼 yin_jw 2014-04-22  
我试了一下,Log4jSendMail ,没有发送邮件
为什么呢
我在配置文件中已经加了相关的配置!
2 楼 sealv 2013-05-16  
你这个是啥版本 为啥我这没有setSMTPUsername 和setSMTPPassword 方法
1 楼 panda_eyes 2012-12-19  
我也试用过了  还用这个在工作交流会上讲了一下 呵呵

相关推荐

    Log4j 邮件配置

    Log4j 是一个广泛使用的日志记录框架,尤其在Java应用...综上所述,Log4j 的邮件配置是一项实用的功能,能够帮助开发者及时获取错误和警告信息。通过理解并正确配置SMTPAppender,我们可以实现高效的日志管理和监控。

    log4j实用配置扩展

    #### 四、log4j的核心组件 log4j的核心组件主要包括**Loggers(记录器)**、**Appenders(输出源)**和**Layouts(布局)**。 1. **Loggers (记录器)**:负责生成日志信息,并决定是否发送日志信息到Appenders。记录器...

    Log4J_全能配置文件.pdf

    ### Log4J 全能配置文件详解 #### 一、概述 Log4J是一款非常流行的Java日志框架,被广泛应用于各种规模的应用程序中。它提供了灵活的日志记录机制,可以将日志输出到不同的目的地,如控制台、文件、数据库等,并且...

    Log4j 详细配置

    Log4j 提供了多种 Appender,如 ConsoleAppender(控制台输出)、FileAppender(文件输出)、SMTPAppender(邮件发送)等。每个 Appender 都有自己的配置属性,如文件名、是否追加、日志格式等。 ### 6. Layout ...

    log4j.jar包,和log4j.properties配置文件下载

    Log4j是一个广泛使用的Java日志记录框架,它允许开发者在应用程序中插入日志语句,以便跟踪程序的...它通过`log4j.jar`提供核心功能,通过`log4j.properties`进行个性化配置,为开发者提供了一套完整的日志解决方案。

    log4j的配置示例

    **标题:“log4j的配置示例”** **描述:“简单的log4j测试工程”** 在Java开发中,日志管理是一项重要的任务,它有助于跟踪应用程序的运行状态、错误和调试信息。Log4j是Apache提供的一款开源日志组件,广泛应用...

    log4j(二):动态配置日志输出路径

    在Web应用中,如使用的是Servlet环境,可以通过在`web.xml`中配置`ContextLoaderListener`来加载Log4j配置,同时,我们还可以创建一个Servlet,当接收到特定请求时,更新Log4j配置。 ```xml <!-- web.xml 示例 --> ...

    log4j的配置文件.zip

    `log4j.properties`文件是Log4j的核心配置文件,它定义了日志输出的行为,包括日志级别、输出目的地、格式以及过滤规则等。 在`log4j.properties`文件中,有以下几个关键知识点: 1. **日志级别(Logging Levels)...

    log4j与web.xml的配置

    2. **Log4j配置文件(log4j.properties或log4j.xml)** - 在Java项目中,通常会有一个log4j配置文件,用于定义日志记录的级别、输出方式和格式。 - 示例配置: ``` log4j.rootLogger=DEBUG, FILE log4j....

    log4j简单使用

    5. **配置文件**: `log4j.properties`或`log4j.xml`是Log4j的配置文件,通过配置这些文件,我们可以定制日志行为。例如,我们可以指定哪个Logger的级别,选择哪个Appender,以及定义日志格式。 6. **Filter**: ...

    log4j 不同级别 不同文件 发送邮件配置

    在这个特定的配置场景中,我们将探讨如何设置log4j,使其能将不同级别的日志信息分别记录到不同的文件中,并且具备发送邮件通知的能力。 首先,我们需要创建一个log4j的配置文件,通常命名为`log4j.properties`。这...

    log4j的详细配置,log4j.xml和log4j.properties,日志输出到文件,邮件,数据库,控制台等

    总之,Log4j通过其灵活的配置,可以满足不同场景下的日志需求,无论是简单地输出到控制台,还是复杂地发送邮件或存入数据库,都能轻松实现。对于开发和运维人员来说,理解和掌握Log4j的配置方法是十分重要的,它能极...

    mybatis配置文件以及日志文件Log4j

    配置Log4j主要通过`log4j.properties`或`log4j.xml`文件完成,其中定义了日志级别、appender(日志输出目标)和layout(日志格式)。例如,你可以为不同的类或包设置不同的日志级别,以获取所需级别的详细信息。 在...

    log4j 数据库,邮件,html 等配置

    《log4j数据库、邮件和HTML配置详解》 在IT行业中,日志记录是系统调试、性能监控和问题排查的关键工具。Log4j,作为Java领域广泛应用的日志框架,提供了强大的功能来满足这些需求。本文将深入探讨如何利用Log4j...

    log4j配置

    Log4j的配置通常通过一个XML或properties格式的配置文件完成,例如`log4j.properties`或`log4j.xml`。以下是一个基本的`log4j.properties`配置示例: ```properties # 设置根日志器的级别为INFO log4j.rootLogger=...

    log4j配置文档【非常详细】

    3. **布局(Layouts)**:Log4j提供了四种布局策略: - **HTMLLayout**:将日志信息格式化为HTML表格。 - **PatternLayout**:最灵活,允许用户自定义输出格式。 - **SimpleLayout**:只包含日志级别和信息字符串...

    Log4j配置文件详细说明

    首先,Log4j的配置文件通常是`log4j.properties`或`log4j.xml`,用于定义日志输出的行为。这里我们主要讨论基于文本格式的`log4j.properties`。在这个文件中,你可以设置不同的日志级别(DEBUG, INFO, WARN, ERROR, ...

    log4j.properties配置实例

    这个 log4j.properties 配置实例提供了一个完整的 Log4j 配置解决方案,涵盖了邮件日志、数据库日志和日志记录的配置。这将有助于开发者快速地实现 Log4j 的配置和日志记录。 知识点: 1. Log4j 是一个流行的 Java...

    Spring项目中怎么配置log4j

    在Spring项目中配置log4j是一项基础且重要的工作,它能帮助我们记录应用程序的运行日志,便于调试、排查问题和性能分析。Log4j是一个广泛使用的Java日志框架,提供灵活的日志记录功能。接下来,我们将详细讲解如何在...

    Log4J完整说明和配置

    ### Log4J完整说明与配置解析 #### 一、Log4J简介 Log4J是Apache的一个开源项目,用于提供灵活的日志记录功能。通过它,开发者能够控制日志信息的输出级别、输出目的地(控制台、文件等)、格式化方式等。本文将...

Global site tag (gtag.js) - Google Analytics