使用Log4J监控系统日志邮件警报

前言

  在系统上线后,有时候遇到系统故障,这时候就可以登录服务器查看系统日志来排查问题。但是需要登录服务器,下载查找相关异常日志比较麻烦。而且没有监控的话,也无法实时了解到系统是否正常运行。那么有没有一种好办法将系统异常信息实时反馈给相关人员呢?

  本文讲的就是借助Log4J来记录程序运行日志,当一旦发现系统异常或者自己定义的其他一些情况发生时,及时通过邮件形式发送给相关负责人,并附上相关的系统日志信息,这样负责人就可以实时便捷的监控到系统的状态和相关异常信息。

另外

  需要了解Log4J组件的使用,可以查看我以前写的这篇博客:Log4J的配置与使用详解[戳我]

优点

  采用这种方式的优点有:

  1. 实时性。不用定期或不定期的登陆系统查看是否正常运行。
  2. 及时性。一旦系统异常,就会通知。
  3. 便捷性。邮件里附上异常日志,不用登陆系统下载日志查看。

环境

  导入依赖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文件,如下:

 log4j.rootLogger=DEBUG, MAIL

 log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
log4j.appender.MAIL.Threshold=ERROR
log4j.appender.MAIL.BufferSize=10
log4j.appender.MAIL.From=123@qq.com
log4j.appender.MAIL.SMTPHost=smtp.qq.com
log4j.appender.MAIL.SMTPUsername=123
log4j.appender.MAIL.SMTPPassword=***
log4j.appender.MAIL.SMTPDebug=false
log4j.appender.MAIL.Subject=Log4JErrorMessage
log4j.appender.MAIL.To=123@qq.com
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
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监控系统日志邮件警报的更多相关文章

  1. python系统监控及邮件发送

    python系统监控及邮件发送   #psutil模块是一个跨平台库,能轻松实现获取系统运行的进程和系统利用率   import psutil                              ...

  2. 【Linux】Zabbix + MPM + msmtp + mutt 监控MySQL + 邮件报警

    Zabbix部署参考博文 http://blog.sina.com.cn/s/blog_5611597901017oe0.html  MPM安装配置参考博文和MPM官网下载地址 http://blog ...

  3. 利用socket模块检查端口存活并邮件警报

    可以用来监控一些端口. import socket def check_server(addr, port): s = socket.socket() try: s.connect((addr, po ...

  4. inotify-tools + php脚本实现Linux服务器文件监控并邮件提醒

      需求简介: 由于服务器被挂马,经常被写入涉敏感的html网页,领导时常被网监请去喝茶,呵呵你懂的.所以有两个需求,一是找出服务器的木马后门和修复代码漏洞,二是监控服务器涉及增删改查的文件. 第一个 ...

  5. Log4j配置发邮件功能

    # 发送日志到指定邮件log4j.appender.mail=org.apache.log4j.net.SMTPAppenderlog4j.appender.mail.Threshold=DEBUGl ...

  6. 【第一章】zabbix3.4监控WindowsCPU使用率磁盘IO磁盘事件日志监控阈值邮件报警详细配置

    Windows安装zabbix-agent 监控Windows-CPU使用率 监控Windows-磁盘IO性能监控 监控Windows/Linux-磁盘触发器阈值更改 监控Windows-网卡自动发现 ...

  7. 基于Nginx+Keepalived的LB服务监控(邮件报警)

    IDC两台机器上部署了Nginx+Keepalived主从模式的LB代理负载层,现在需要对LB进行每日巡检和服务监控,利用SendEmail邮件监控. 0)SendEmail部署 参考:http:// ...

  8. Log4j发送日志邮件功能

    昨天配置了log4j发送错误日志的功能,很实用,记录一下! Log4j可以实现输出到控制台,文件,回滚文件,发送日志邮件,数据库,自定义标签.例如: log4j.rootLogger=DEBUG, I ...

  9. shell脚本-监控及邮件提醒

    首先写一个邮件提醒python文件 #!/usr/bin/python # -*- coding: UTF-8 -*- import sys import smtplib import email.m ...

随机推荐

  1. Centos 中扩展 软件源 的安装 之 epel ( 为yum 扩展软件源 EPEL源 )

    EPEL (Extra Packages for Enterprise Linux)是基于Fedora的一个项目,为“红帽系”的操作系统提供额外的软件包,适用于RHEL.CentOS和Scientif ...

  2. Java第七次作业--图形用户界面

    Deadline: 2017-5-11 23:00 一.学习要点 认真看书并查阅相关资料,掌握以下内容: 了解GUI开发的相关原理和技巧 熟悉Swint组件的使用 理解事件处理模型 二.作业要求 发布 ...

  3. 文本框模糊匹配(纯html+jquery简单实现)

    一.项目中需要用到此功能,使用过EasyUI中的Combobox,网上也搜过相应的解决办法,对于我的项目来说都不太合适,因为我还是喜欢比较纯粹的东西,就自己动手写了一个,比较简单,但还算能用,我的项目 ...

  4. hasura graphql pg 自定义函数的使用

      hasura graphql 的安装可以参考相关项目 创建函数 数据表创建 CREATE TABLE sql_function_table ( id SERIAL PRIMARY KEY, inp ...

  5. BUG的定位与分析思路

    一般来说bug大多数存在于3个模块: 1.前台界面,包括界面的显示,兼容性,数据提交的判断,页面的跳转等等,这些bug基本都是一眼可见的,不太需要定位,当然也不排除一些特殊情况,本身数据传过来的时候就 ...

  6. mysql_use_result的使用

    对于每个可以产生一个结果集的命令(比如select.show.describe, explain, check_table等等),发起mysql_query或者mysql_real_query之后,你 ...

  7. vmware克隆linux网络配置

    一.配置Linux网络 在安装Linux的时候,一定要保证你的物理网络的IP是手动设置的,要不然会在Linux设置IP连通网络的时候会报network is unreachable 并且怎么也找不到问 ...

  8. composer中文镜像

    王赛先生维护的 phpcomposer 全局修改 composer config -g repo.packagist composer https://packagist.phpcomposer.co ...

  9. 蓝桥杯 生命之树【树状dp】

    生命之树 在X森林里,上帝创建了生命之树. 他给每棵树的每个节点(叶子也称为一个节点)上, 都标了一个整数,代表这个点的和谐值. 上帝要在这棵树内选出一个非空节点集S, 使得对于S中的任意两个点a,b ...

  10. bzoj2865 字符串识别

    Description XX在进行字符串研究的时候,遇到了一个十分棘手的问题. 在这个问题中,给定一个字符串S,与一个整数K,定义S的子串T=S(i, j)是关于第K位的识别子串,满足以下两个条件: ...