1、主要通过logback.xml配置,该文件位于src/main/resource目录下

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="false"><property name="fileName" value="xunming-scheduler"/><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger{50} - %msg%n</pattern></encoder></appender><appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger{50} - %msg%n</pattern><charset>UTF-8</charset></encoder><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>logs\\${fileName}.%d{yyyy-MM-dd}.log</fileNamePattern><maxHistory>365</maxHistory></rollingPolicy></appender><!--  邮件 --><!-- SMTP server的地址,必需指定。如网易的SMTP服务器地址是: smtp.163.com 、 smtp.126.com--><property name="smtpHost" value="smtp.exmail.qq.com"/><!--填入要发送邮件的smtp服务器地址--><!-- SMTP server的端口地址。默认值:25 --><property name="smtpPort" value="25"/><!-- 发送邮件账号,默认为null --><property name="username" value="xmliu@xunming.com"/><!--发件人账号 xmliu@126.com--><!-- 发送邮件密码,默认为null --><property name="password" value="123456"/><!--发件人密码 123456--><!-- 如果设置为true,appender将会使用SSL连接到日志服务器。默认值:false --><property name="SSL" value="false"/><!-- 指定发送到那个邮箱,可设置多个<to>属性,指定多个目的邮箱 --><property name="email_to" value="xmliu@163.com"/><!--收件人账号多个可以逗号隔开--><!-- 指定发件人名称。如果设置成“&lt;ADMIN&gt; ”,则邮件发件人将会是“<ADMIN> ” --><property name="email_from" value="xmliu@xunming.com" /><!-- 指定emial的标题,它需要满足PatternLayout中的格式要求。如果设置成“Log: %logger - %msg ”,就案例来讲,则发送邮件时,标题为“【Error】: com.foo.Bar - Hello World ”。 默认值:"%logger{20} - %m". --><property name="email_subject" value="【Error】: %logger - %msg " /><!-- ERROR邮件发送 asynchronousSending配置属性--><appender name="EMAIL" class="ch.qos.logback.classic.net.SMTPAppender"><smtpHost>${smtpHost}</smtpHost><smtpPort>${smtpPort}</smtpPort><username>${username}</username><password>${password}</password><asynchronousSending>true</asynchronousSending><SSL>${SSL}</SSL><to>${email_to}</to><from>${email_from}</from><subject>${email_subject}</subject><!-- html格式--><layout class="ch.qos.logback.classic.html.HTMLLayout"><Pattern>%date%level%thread%logger{0}%line%message</Pattern></layout><!-- 这里采用等级过滤器 指定等级相符才发送 --><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>ERROR</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter><cyclicBufferTracker class="ch.qos.logback.core.spi.CyclicBufferTracker"><!-- 每个电子邮件只发送一个日志条目 经测试改变这个数字并不能将多个日志发在一个邮箱里 --><bufferSize>1</bufferSize></cyclicBufferTracker></appender><!--<filter class="ch.qos.logback.classic.filter.ThresholdFilter">--><!--<level>ERROR</level>--><!--<onMatch>NEUTRAL</onMatch>--><!--<onMismatch>NEUTRAL</onMismatch>--><!--</filter>--><!--<logger level="INFO" name="com.xmliu"/>--><root level="INFO"><appender-ref ref="STDOUT"/><appender-ref ref="FILE"/><appender-ref ref="EMAIL"/></root></configuration>

2、pom.xml中添加如下依赖

<dependency><groupId>org.codehaus.janino</groupId><artifactId>janino</artifactId><version>2.7.8</version></dependency><!-- logback相关 --><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-core</artifactId><version>1.1.7</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.1.7</version></dependency><!-- 发邮件 --><dependency><groupId>javax.mail</groupId><artifactId>mail</artifactId><version>1.4.7</version></dependency><!-- logger.info("具体使用") --><dependency><groupId>org.slf4j</groupId><artifactId>jcl-over-slf4j</artifactId><version>${slf4j.version}</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>${slf4j.version}</version></dependency>

3、正常版使用方法

Logger logger = LoggerFactory.getLogger(XmScheduler.class);
public void doAnything(){logger.error("邮件发送");
}

4、还有一种情况是根据指定的marker来发送邮件,那么logback.xml需要添加如下配置

<!-- 基于标记的发送邮件 如有多个标记加入多个<maker></maker>标签即可 --><evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator"><marker>Wei</marker></evaluator>

5、标记版使用方法

 logger.info(MarkerFactory.getMarker("Wei"),"具体邮件内容");

6、实测,正常版效果图,标记版类似就不上图了

参考博文:

logback 发送邮件和自定义发送邮件;java类发送邮件

Maven项目之错误日志发邮件通知相关推荐

  1. 错误请联系管理员文件 index.php,帝国CMS订单、反馈信息、投稿与留言发邮件通知管理员的方法...

    本文将为关注织梦者的朋友提供的是的帝国CMS订单.反馈信息.投稿与留言发邮件通知管理员的方法相关教程,具体实例代码请看下文: 本文实例讲述了帝国CMS订单.反馈信息.投稿与留言发邮件通知管理员的方法. ...

  2. 谷歌MCC经理账户是否能在预算即将耗尽的情况下自动发邮件通知

    因为账户下的每个子账户有不同的运行模式,消耗的金额也不尽相同.很容易出现预算用完,没有发现的情况.那么谷歌MCC经理账户是否能在预算即将耗尽的情况下,剩余500元余额时,自动发邮件通知呢. 由于此MC ...

  3. MAVEN项目打包编译日志乱码

    很多时候IDEA在用maven在打包的时候打包编译的时候出现问题都是乱码,很不方便我们排查问题,如下: 解决办法很简单,只需要设置一下IDEA中maven编译代码的字符集即可: 依次点击:File-- ...

  4. Eclipse导入Maven项目出现错误:Unsupported IClasspathEntry kind=4

    使用Eclipse导入Maven项目失败,提示: An internal error occurred during: "Importing Maven projects". Un ...

  5. Dedeeims留言板发邮件通知网站管理员

    这个主要是利用 织梦内置的发邮件类mail.class.php,其中很简单. 1.首先,需要准备的工作 系统设置-系统基本参数-核心设置中,其中: 网站发信EMAIL:如 liuyan814@qq.c ...

  6. Python通过发邮件通知自己电脑被入侵

    我对IT技术有着狂热的追求,虽然现在很渣,但是我有颗钻研的心,例外我还比较喜欢看小说,相信看过最强黑客的人对里面的黑客的技术佩服得无以复加,黑客一般对自己的电脑数据都比较在意,一般都会设置些密码等并在 ...

  7. JIRA上设置只有描述、优先级等几个关键字段更新时才发邮件通知

    JIRA的issue updated事件,默认会将包含自定义字段在内的所有字段变更都按照通知方案的定义进行邮件发送,这样一来,报告人和关注人会收到无数Issue更新通知的邮件,哪怕只是一个非常无关紧要 ...

  8. Error creating bean with name Maven项目编译错误怎么解决

    1 出现错误如下 Error creating bean with name 'personalApplyDao' defined in file [C:\Users\swkbs\workspace\ ...

  9. 用Mailgun方式在Drone pipeline中集成SMTP邮件通知

    文章目录 用Mailgun方式在Drone pipeline中集成SMTP邮件通知 前言 在Mailgun中开启SMTP服务 在Drone pipeline中集成邮件通知 小结 用Mailgun方式在 ...

最新文章

  1. 模糊匹配 读音_onenote搜索机制详解②:两种搜索模式,模糊与精确匹配
  2. 主流大数据技术全体系参数与搭建与后台代码工程框架的编写(百分之70)
  3. linux编程能否用于windows,使R包在Windows和Linux中都可以工作
  4. 请不要轻易使用 is_numberic 加入存在E字母
  5. python字符串出栈方法_1.Python实现字符串反转的几种方法
  6. 电子邮件客户端程序_您更喜欢哪个电子邮件客户端?
  7. 虚拟机状态错误_【行业资讯】VirtualBox 6.1.16 发布,开源虚拟机
  8. JUnit for Android入门1
  9. etree不能使用,etree.HTML()不能使用。
  10. oracle去除字段值的所有英文
  11. vbs字符串正则_VBS教程:正则表达式简介 -字符匹配
  12. Netty:原理架构解析
  13. js中函数传参的问题
  14. 前端开发实习生第一天都在做什么?需要准备什么东西
  15. WHMCS V7.60 新增短信宝短信插件
  16. Maven 指定 Java 编译版本
  17. FFmpeg:‘UINT64_C‘ was not declared in ths scope
  18. SQL相关知识点(一)
  19. Maven安装配置详细教程
  20. 优秀!华为诺亚方舟实验室联合中山大学发布新一代半/自监督的2D基准数据集SODA10M

热门文章

  1. 多张图片合并转为PDF
  2. libjpeg-turbo使用教程
  3. 《Adobe Audition CS6中文版经典教程》——2.2 Audition Workspace
  4. 答题卡识别C++版本(一)
  5. 关于w5500客户端和服务器的调试心得
  6. visualGDB下导入cmake工程
  7. 3. java缓存-线程内缓存guava cache
  8. python用途谷歌浏览器-python调用chrome ie等浏览器
  9. Navicat使用HTTP通道连接MySQL(通过php代理连接数据库)
  10. Ubuntu 该怎么读?