`
LK.Bing
  • 浏览: 80308 次
  • 性别: Icon_minigender_2
  • 来自: 临川->成都
社区版块
存档分类
最新评论

log4j邮件发送错误日志

阅读更多

能够起到的作用:

      项目错误信息能及时(实时)反映给项目维护人员以及相关负责人

优点:1,快速响应

      2,共同监督

      3,邮件正文直接显示了错误信息,拷贝信息比登陆服务器再查找要方便

      4,在日志信息继续写入文件的前提下,多了另外一种获取信息的渠道。

补充:log4j可以实现输出到控制台,文件,回滚文件,发送日志邮件,数据库,自定义标签。

输出:该方法可以在日志输出级别为 ERROR

         (即代码中调用logger.error("message")方法)时发送邮件

解决:第一步,修改 log4j.properties文件(以SFCS_WEB项目为例)

      第二步,利用javamail发送邮件,需要导入包mail.jar和activation.jar 

            SFCS_WEB项目因为已经存在上述包,因此直接修改配置文件后就可以使用。

      该项目开发人员自行配置如下:(下文中我适当添加了一些注释,便于理解)

      ## ROOT 可以设置日志输出的方式,日志可以依据以下设置同时输出到多种目的地

      log4j.rootCategory=INFO,file

      ## R  将日志写入文件       

       log4j.appender.file=org.apache.log4j.DailyRollingFileAppender

       log4j.appender.file.DatePattern='.'yyyy-MM-dd

       log4j.appender.file.File=run.log

       log4j.appender.file.Append=true

       log4j.appender.file.Threshold=INFO

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

       log4j.appender.file.layout.ConversionPattern=%c %x - %m%n

       开始修改,修改分为两部分,

       第一部分修改log4j.rootCategory=INFO,file------->log4j.rootCategory=INFO,file,MAIL

       之后在该文件尾部追加以下内容:

       ## MAIL

       log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender

       # 日志的错误级别

       log4j.appender.MAIL.Threshold=ERROR

       # 缓存文件大小,日志达到1K时发送Email   可以自定义缓存文件的大小

       log4j.appender.MAIL.BufferSize=1

       # 发送邮件的服务器

       log4j.appender.MAIL.SMTPHost=X.X.X.X(实际SMTP服务器IP或主机名)

       # 邮件的标题

       log4j.appender.MAIL.Subject=Log4J ErrorMessage

       # 发件人地址

       log4j.appender.MAIL.From=test@163.com

       # 日志邮件的接收者

       log4j.appender.MAIL.To=test@163.com

       # 日志PatternLayout

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

       # 日志的格式

       log4j.appender.MAIL.layout.ConversionPattern=[ErrorMessage] %d - %c -%-4r [%t] %-5p %c %x - %m%n

       以上内容为必须的。

       如果SMTP服务器需要验证的话,可以添加SMTP服务器用户名和密码,但是以下两项不是所有的LOG4J版本都支持。

       需要自己提前确认清楚的。

       # SMTP用户名

       log4j.appender.MAIL.SMTPUsername=
      SMTP密码

       log4j.appender.MAIL.SMTPPassword=

      至此,log4j配置文件修改完毕。

      以上配置和修改全部经过验证,并且成功发送出ERROR的邮件。       

存在问题:中文乱码问题

      该信息的产生很多时候是因为logger.error("message")中包含中文字符所致。

      如果不想去解决这个问题,以下有网络资料供参考

     原因:配置文件里的layout属性对应的布局模式

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

     为处理中文乱码,可以写一个布局模式。

     如果你要使用HTMLLayout,就写一个HTMLLayout的子类,覆盖HTMLLayout

     的getContentType方法即可。假如我要用   org.apache.log4j.HTMLLayout。

      就写一个DefineLayOut 类,代码如下:
         package com.sun;
         import org.apache.log4j.HTMLLayout;
         public class DefineLayOut extends HTMLLayout{
         public String getContentType() {
         return "text/html;charset=GBK"; //修改编码方式而已!!!
         }
         }

分享到:
评论
3 楼 Golden_Sky 2015-01-16  
请问,如果配置好了,还要自己手动调用logger.error("")这个方法么?比如我们配置的是error级别的,那说明我们报错的时候他知道这个错误的错误级别啊,照理说的话,他会自动调用这句话啊,error的内容就是报错的内容啊 。。这个观点对么?
2 楼 huang_yong 2010-06-21  
补充:

最后再把编译后的Layout.class覆盖到log4j.jar中

完毕!
1 楼 huang_yong 2010-06-21  
还有一个方法不妨也可以参考一下:

下载Log4J的源码,直接修改org.apache.log4j.Layout类中的一行代码

将"text/plain"修改为"text/plain;charset=UTF-8"

当然“GBK”也可以,不过本人比较喜欢UTF-8

:)

相关推荐

    log4j 发送邮件

    7. **异常处理**:如果邮件发送失败,Log4j通常会记录一条错误日志。为了防止系统被异常邮件发送逻辑阻塞,可以设置重试次数和间隔,或者配置错误处理器来处理发送失败的情况。 8. **集成测试**:在项目部署前,应...

    javaweb配置Log4j发送日志邮件------全面

    本教程将详细介绍如何配置Log4j来实现日志信息通过电子邮件发送,以便于及时获取系统异常或关键事件的通知。 首先,我们需要理解Log4j的基本架构。Log4j包括三个核心组件:Logger(日志器)、Appender(输出器)和...

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

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

    log4j记录Debug日志

    3. **Appenders**:Appender是Log4j中的输出组件,负责将日志信息发送到指定的位置。常见的Appender有ConsoleAppender(控制台输出)、FileAppender(文件输出)、SMTPAppender(电子邮件通知)和DBAppender(数据库...

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

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

    Log4j 邮件配置

    本篇文章将详细探讨Log4j 配置邮件发送的相关知识点。 1. **邮件通知功能** Log4j 提供了SMTPAppender,用于在特定的日志事件发生时发送电子邮件通知。这非常有用,因为开发者可以在问题发生时立即得到警报,无需...

    log4j日志jar包.rar

    **日志库Log4j详解** 日志在软件开发中起着至关重要的作用,它能够帮助开发者追踪程序运行状态,定位错误,优化性能,并且在生产环境中为运维人员提供宝贵的诊断信息。Log4j,由Apache软件基金会开发,是Java编程...

    log4j-1.2.17.jar及配置文件

    配置文件(通常是log4j.properties或log4j.xml)决定了日志记录的行为,包括日志级别、输出目的地、格式等。例如,以下是一个简单的log4j.properties配置示例: ``` # 设置全局日志级别为INFO log4j.rootLogger=...

    log4j配置发送邮件案例

    在IT行业中,日志记录是系统监控和故障排查的关键环节,而Log4j作为Java领域广泛应用的日志框架,提供了一种高效、灵活的方式来管理和记录应用的运行情况。本案例主要探讨的是如何通过Log4j配置,使其在特定错误级别...

    .net log4jdemo log4j日志

    在".NET log4jdemo"项目中,Log4jDemo可能包含示例代码,展示了如何在.NET应用程序中集成和使用Log4j,以及如何设置和调整日志配置。这可以帮助开发者快速上手,并理解Log4j在.NET环境中的工作原理。 总的来说,Log...

    log4j多个简单实例

    除了默认的`FileAppender`,Log4j还提供了多种Appender,如`ConsoleAppender`(输出到控制台)、`SMTPAppender`(发送电子邮件)、`RollingFileAppender`(文件大小达到一定限制后自动滚动)等。根据实际需求,你...

    log4j实用配置扩展

    - **SMTPAppender**:通过电子邮件发送日志。 3. **Layouts (布局)**:定义了日志信息的格式。例如,可以配置日志信息包含时间戳、线程ID、日志级别、消息内容等。 - **常见Layouts**: - **PatternLayout**:...

    log4j 发送邮件配置实例

    保存配置后,当系统出现error级别的日志时,Log4j会自动通过SMTPAppender发送一封包含错误信息的电子邮件到指定的收件人。为了确保配置有效,你可以故意触发一个error,然后检查是否收到了邮件。 通过以上配置,...

    Log4j记录日志DEMO

    **Log4j记录日志DEMO** 在Java开发中,日志记录是不可或缺的一部分,它帮助开发者追踪程序运行状态、定位错误和调试代码。Log4j是Apache组织提供的一款广泛使用的开源日志框架,适用于各种Java应用程序。Log4j以其...

    Log4j日志管理

    Log4j提供了丰富的日志记录选项,允许开发者根据需求调整日志级别,输出调试信息,追踪程序运行状态,以及在出现问题时提供详细的错误信息,帮助定位问题。 Log4j的核心组件包括三部分:Logger(日志器)、Appender...

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

    Log4j是一个广泛使用的Java日志记录框架,它允许开发者在应用程序中插入日志语句,以便跟踪程序的运行情况、调试错误、监控性能等。这个框架由Apache软件基金会开发,是许多Java项目的首选日志解决方案,因为它具有...

    log4j日志组件

    Log4j提供了多种Appender实现,如ConsoleAppender(控制台输出)、FileAppender(文件输出)和SMTPAppender(发送邮件)等。 3. **Layout(布局)**:用于格式化日志信息,如PatternLayout(自定义模式)、...

    log4j写日志

    1. **自定义Appender**: 可以扩展Log4j,实现自己的Appender,例如发送日志到邮件、网络服务器等。 2. **过滤器**: 通过Filter接口,可以实现更细粒度的日志控制,比如只输出特定类或包含特定关键字的日志。 3. **...

    Log4J完整说明和配置

    - **MAIL**:SMTP邮件发送Appender,当日志级别达到FATAL时发送邮件通知。 #### 四、总结 以上配置覆盖了Log4J常用的几种Appender类型及其配置参数,能够满足大多数应用场景的需求。开发者可以根据实际需求调整各个...

    log4j_jar包跟教程说明

    - Log4j允许开发者创建自定义的Appender和Layout来满足特定需求,如发送邮件、写入数据库等。 - Appender决定了日志信息的输出位置,而Layout则决定日志的显示格式。 6. **Log4j的最新版本:Log4j 2** - 随着...

Global site tag (gtag.js) - Google Analytics