我想在下面的语句中发送邮件
Logger.Error("some error")
遇到了。
我可以这样做的一种方法是在我使用logger.error
的任何地方使用电子邮件发送代码。但是我认为有SMTPAppender
的{{1}} logback
,它会在调用logger.error
时自行发送电子邮件,但我找不到相应的文档或教程。有帮助吗?要编写什么配置...如果要包含哪些插件以及如何插件?
Edit1:这是我的logback.xml
<configuration>
<conversionRule conversionWord="coloredLevel" converterClass="play.api.Logger$ColoredLevel" />
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>${application.home}/logs/application.log</file>
<encoder>
<pattern>%date - [%level] - from %logger in %thread %n%message%n%xException%n</pattern>
</encoder>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%coloredLevel %logger{15} - %message%n%xException{5}</pattern>
</encoder>
</appender>
<appender name="EMAIL" class="ch.qos.logback.classic.net.SMTPAppender">
<asynchronousSending>false</asynchronousSending>
<smtpHost>smtp.gmail.com</smtpHost>
<smtpPort>465</smtpPort>
<SSL>true</SSL>
<username>myusername</username>
<password>mypwd</password>
<to>toEmail</to>
<from>fromEmail</from>
<subject>Linka ERROR: %logger</subject>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%date - [%level] - from %logger in %thread %n%message%n%xException%n</pattern>
</layout>
</appender>
<logger name="play" level="INFO" />
<logger name="application" level="INFO"/>
<logger name="crawler" level="DEBUG">
<!--<appender-ref ref="STDOUT" />-->
</logger>
<root level="ERROR">
<appender-ref ref="STDOUT" />
<appender-ref ref="EMAIL" />
</root>
</configuration>
build.sbt如下:
name := """my-dnd"""
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayJava)
scalaVersion := "2.11.6"
libraryDependencies ++= Seq(
javaJdbc,
cache,
javaWs,
"javax.mail" % "mail" % "1.4.5",
"javax.activation" % "activation" % "1.1.1"
)
// Play provides two styles of routers, one expects its actions to be injected, the
// other, legacy style, accesses its actions statically.
routesGenerator := InjectedRoutesGenerator
我在控制台中也没有收到任何错误,但没有发送邮件。我错过了什么?请指导。