使用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文件,如下:

 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

  输出到邮件中显示如下图:

转载于:https://www.cnblogs.com/hellojava/p/3597306.html

使用Log4J监控系统日志邮件警报相关推荐

  1. Exchange监控用户邮件

    IT部做为一个信息管理部门,有时候需要协助其他部门做一些用户监控.其中,邮件监控是比较常见的.监控用户邮件的方法有多种,下面我们就来看看使用其中两种不同的方法监控用户邮件.<?xml:names ...

  2. oracle实时监控触发邮件,利用EasySQLMAIL实现数据库订单监控和邮件发送

    最近部门leader要求每天定时查询数据库,如果发现有异常订单,就立即把订单发给业务部.数据库是Oracle.原想写个过程来实现监控和发送邮件,但Oracle里面发邮件过于复杂了一些,试了很久没成功. ...

  3. Zabbix 系统监控(三)VMware 虚拟平台监控、邮件告警、企业微信告警配置

    Vmware 虚拟平台监控.邮件告警.企业微信告警配置 8 Vmware 虚拟平台监控 阅读 zabbix 官方文档,官方提供了 Vmware 虚拟机监控模板,并对模板进行了解释说明,但未对相应名词做 ...

  4. Exchange Server2010系列之六:监控用户邮件

    在某些场合下,企业领导可能会要求管理员监控一些特殊用户的往来邮件信息,虽然做法有点不地道,但有领导的要求还是要实现.Exchange Server2010提供了两种模式去监控用户的邮箱信息,一种是利用 ...

  5. log4j发送日志邮件

    目录 1.使用背景 2.log4j配置 3.可能遇到的问题 步骤一: 步骤二: 4.结果 1.使用背景 使用log4j记录错误日志是个非常好的习惯,log4j也是非常好用,假设我们的线上系统出了错误, ...

  6. zabbix监控及邮件报警

    zabbix监控及邮件报警 zabbix安装部署请参考 (https://blog.csdn.net/weixin_45636702/article/details/102952949) 一.安装za ...

  7. linux mutt接收邮件,Linux下安装使用Mutt邮件客户端并配置邮件警报功能

    0.在正式安装Mutt之前先检查一下两个安全组件. OPENSSL: 复制代码 代码如下: openssl version -a #检查安装及版本信息 SASL(系统一般已经自带): 复制代码 代码如 ...

  8. 如何给服务器设置邮件警报。

    例如在windows server2008上,当磁盘空间不够,或者CPU利用率过高的时候如何设置邮件报警通知 管理员呢? 工具:1.blat.exe 发送邮件的命令行工具,替换工具为powershel ...

  9. log4j监控mybatis的普通配置

    log4j.xml中监控SQL语句以及mybatis <?xml version="1.0" encoding="UTF-8" ?> <!DO ...

最新文章

  1. AngularJS和DataModel
  2. [Tool] 使用CodeMaid自動程式排版 - 摘自网络
  3. ETCD-节点挂掉会怎样?
  4. 在區塊鏈上建立可更新的智慧合約(一)
  5. Android Call requires API level 11 (current min is 8)的解决方案
  6. Mac 系统部署Frp内网穿透服务 实现frpc shell启动脚本启动、停止
  7. mysql生成随机时间
  8. 资源--toast的五种使用方式
  9. 限时促销_江北恒一乐优家丨限时优惠大促销
  10. iOS 推送证书制作 (JAVA/PHP)
  11. 2019/01/29-Linux目录
  12. linux下创造进程指令,Linux系统创建一个新进程(下)
  13. 【IoT】 产品设计:结构设计之ABS塑料表面处理工艺
  14. 倡导非盗版,自己常用的一些软件集锦
  15. GD32F103移植FreeRTOS
  16. 超频导致声卡不能正常使用
  17. 德邦快递——快递鸟电子面单API模板预览效果 解析接口返回json字符串
  18. 系统的性能与压力测试
  19. WEB_BASIC---02 CSS概述、CSS语法、CSS选择器、CSS声明
  20. 神州云服务平台(型号:DCC-CRL1000)基本配置教学视频

热门文章

  1. getopt和getopt_long函数
  2. [react] 举例说明如何在React创建一个事件
  3. React开发(144):Git Commit 规范
  4. React开发(125):ant design学习指南之form中的hasFeedback
  5. 前端学习(3274):js中this的使用三
  6. 前端学习(3130):react-hello-react之回调形式的createRef
  7. 前端学习(2953):idea里面使用vue插件
  8. 前端学习(2930):内嵌改变样式
  9. [html] iframe父页面如何获取子页面的元素?
  10. [html] 如何实现标题栏闪烁、滚动的效果