前言
在系统上线后,有时候遇到系统故障,这时候就可以登录服务器查看系统日志来排查问题。但是需要登录服务器,下载查找相关异常日志比较麻烦。而且没有监控的话,也无法实时了解到系统是否正常运行。那么有没有一种好办法将系统异常信息实时反馈给相关人员呢?
本文讲的就是借助Log4J来记录程序运行日志,当一旦发现系统异常或者自己定义的其他一些情况发生时,及时通过邮件形式发送给相关负责人,并附上相关的系统日志信息,这样负责人就可以实时便捷的监控到系统的状态和相关异常信息。
另外
需要了解Log4J组件的使用,可以查看我以前写的这篇博客:Log4J的配置与使用详解[戳我]。
优点
采用这种方式的优点有:
- 实时性。不用定期或不定期的登陆系统查看是否正常运行。
- 及时性。一旦系统异常,就会通知。
- 便捷性。邮件里附上异常日志,不用登陆系统下载日志查看。
环境
导入依赖jar包:
1. log4j-1.2.17.jar
目前log4j最新版是1.2.17。低版本的log4j无法实现邮件发送功能,因为版本低于log4j-1.2.14.jar的不支持SMTP认证。
发送邮件的一个重要的类是SMTPAppender,在1.2.8的版本中,SMTPAppender没有SMTPUsername和SMTPPassword属性。这两个属性分别是登录SMTP服务器发送认证的用户名和密码。
2. mail-1.4.jar
发送邮件当然需要用到JavaMail包啦。
3. activation-1.1.jar
配置
配置log4j.properties文件,如下:
1 log4j.rootLogger=DEBUG, MAIL
2
3 log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
4 log4j.appender.MAIL.Threshold=ERROR
5 log4j.appender.MAIL.BufferSize=10
6 log4j.appender.MAIL.From=123@qq.com
7 log4j.appender.MAIL.SMTPHost=smtp.qq.com
8 log4j.appender.MAIL.SMTPUsername=123
9 log4j.appender.MAIL.SMTPPassword=***
10 log4j.appender.MAIL.SMTPDebug=false
11 log4j.appender.MAIL.Subject=Log4JErrorMessage
12 log4j.appender.MAIL.To=123@qq.com
13 log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
14 log4j.appender.MAIL.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %c %x -- %m%n
每行配置详解:
3.log4j的邮件发送appender,如果有必要你可以写自己的appender。
4.发送邮件的门槛,仅当等于或高于ERROR级别时,邮件才被发送。
5.缓存文件大小,日志达到10k时发送Email。
6.发送邮件的邮箱帐号。
7.SMTP邮件发送服务器地址。
8.SMTP发送认证的帐号名。
9.SMTP发送认证帐号的密码。
10.是否打印调试信息,如果选true,则会输出和SMTP之间的握手等详细信息
11.邮件主题。
12.发送到什么邮箱,如果要发送给多个邮箱,则用逗号分隔。
其他
如果需要抄送给某人,则添加如下配置:
log4j.appender.MAIL.Bcc=xxx@xxx.xxx
想让邮件内容日志以HTML格式来输出,则配置:
log4j.appender.MAIL.layout=org.apache.log4j.HTMLLayout
输出到邮件中显示如下图:
相关推荐
Log4j 是一个广泛使用的日志记录框架,尤其在Java应用程序中。它允许开发者记录程序运行过程中的事件,便于调试、性能分析和故障排查。在Log4j 中,配置是关键,因为它决定了日志信息如何被处理、格式化以及发送。本...
标题“spring-mvc-log4j”表明这是一个关于整合Spring MVC框架和Log4j日志系统的项目。Spring MVC是Spring框架的一部分,专门用于构建Web应用程序,而Log4j是Java世界中广泛使用的日志记录工具。这个项目的目的是...
本篇文章将深入探讨日志记录系统,特别是以log4j为代表的日志框架,以及其在实际开发中的应用。 日志记录的重要性在于,它为开发者提供了宝贵的洞察力,帮助他们在软件出现问题时定位错误,优化性能,以及进行安全...
本文将深入探讨如何利用Go来实现一个日志文件监控警报系统。 首先,我们需要理解“Go-日志文件监控警报”的核心功能。这个系统的核心是读取服务器上的日志文件,并根据预设的正则表达式规则检查日志内容。当发现...
Log4j中文手册详尽介绍了如何配置和使用这个强大的日志框架,对于Java开发者来说,理解和掌握Log4j能有效提升日志管理的效率,方便问题排查和系统监控。通过深入学习Log4j,可以实现更高效的日志记录和分析,提升...
Log4j是Apache组织提供的一款广泛使用的Java日志框架。然而,随着应用程序的复杂性增加,日志信息可能会变得非常庞大且难以理解。这就引入了Log4j解码器和Log4j解析器的概念。 **Log4j解码器** Log4j解码器是一种...
通过使用Graylog的Java库,开发者可以在代码中方便地发送日志,同时也可以定制化日志格式,满足项目特定的需求。标签“Java开发-日志处理库”恰好反映了这一点,表明Graylog在Java开发环境中被广泛应用。 在实际...
Graylog还支持使用GELF(Graylog Extended Log Format)接收来自各种应用的日志,提供REST API以供其他系统集成和自动化。 值得注意的是,尽管Graylog的源代码可能缺乏注释,但社区文档和在线资源通常能提供足够的...
7. **日志记录**:为了便于排查问题和审计,程序可能还包含了日志记录功能,如使用log4net或NLog等.NET日志框架记录检测和警报事件。 8. **持续监测与更新**:恶意行为检测脚本需要定期更新以应对新的威胁,因此...
LogBase日志管理综合审计系统用户手册是思福迪信息技术(XXSAFETYBASE INFOTECH CO.LTD)发布的一份专业资料,旨在帮助用户快速掌握 LogBase 日志管理综合审计系统的使用和配置。该手册涵盖了系统的概述、设备安装、...
"log4j2.xml"则关乎日志记录,有助于故障排查和系统维护。 此外,"web"目录下的文件可能包含Web应用的相关资源,如HTML、CSS和JavaScript,它们构成了系统用户界面,通过网页形式提供实时定位、轨迹回放、警报管理...
系统日志和BizTalk日志信息对于理解软件运行状态、诊断错误以及优化性能至关重要。本文将深入探讨如何读取和解析这两种日志,以便更好地管理和维护相关系统。 首先,我们要了解什么是系统日志。系统日志是操作系统...
syslog4j是一个Java库,专门用于处理和发送syslog协议的消息。Syslog是一种标准的日志记录协议,常用于在网络设备...同时,合理设置日志级别,平衡信息的详尽度和存储空间的需求,是使用syslog4j时需要考虑的重要因素。
LOG监控利用syslog和aplog等日志信息监控软硬件故障;JOB监控则跟踪工作进程的执行情况。 2. **监控资讯分析功能**:收集到的信息被转化为图表和报告,以便直观地展示CPU、内存、磁盘和网络资源在特定时间段内的...
在IT行业中,日志(Log)管理器是一个至关重要的工具,尤其对于系统监控、故障排查和性能优化。Log日志管理器的主要职责是收集、存储、分析和检索应用程序及操作系统生成的各种日志信息。以下是对Log日志管理器的...
操作系统安全在Linux环境中至关重要,而Linux系统日志是监控系统状态和排查问题的重要工具。Linux系统日志由syslog服务管理,它是一个分布式日志记录系统,能够收集和处理来自不同程序的日志信息。syslog服务通常...
使用Stackify Log Appender for Log4J 1.2,开发者需要在Log4J配置文件中添加相关的appender设置,指定Stackify的日志API端点。这样,每当应用程序生成日志事件时,这些事件就会被发送到Stackify的服务器,进而进行...
在日志收集系统中,Prometheus可以用来监控各个组件的性能,如Taillog的处理速度、Kafka的消费延迟等。 7. **Grafana**:Grafana是一个开源的度量分析与可视化套件,与Prometheus结合使用,可以创建丰富的可视化...
首先,Linux系统日志通常存储在`/var/log`目录下,包括各种服务的日志文件,如`syslog`、`auth.log`、`dmesg`等。这些日志记录了系统启动、服务运行、用户登录和错误信息等内容。对于大规模的Linux环境,手动检查...