我正在嘗試使用Logback登錄我的Java應用程序。我相信我有它配置正確,但是當錯誤被記錄Logback SMTPAppender不發送電子郵件
信息在ch.qos.logback.classic.net.SMTPAppender [EMAIL] - 關於送 出SMTP郵件「測試的主要」爲[ [email protected]]
被打印到控制檯,之後沒有其他打印,並且電子郵件從未收到。如果我在配置中輸入一個無效的smtp主機或用戶名/密碼,它會在嘗試發送時立即失敗,因此它正在建立連接。
我POM:
<repositories>
<repository>
<id>Java.Net</id>
<url>http://download.java.net/maven/2/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.6</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.6</version>
</dependency>
</dependencies>
logback.xml
<configuration>
<!-- dump status message on the console as they arrive -->
<statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />
<appender name="EMAIL" class="ch.qos.logback.classic.net.SMTPAppender">
<smtpHost>mail.optonline.net</smtpHost>
<username>xxxxx</username>
<password>xxxxxx</password>
<smtpPort>587</smtpPort>
<to>[email protected]</to>
<from>[email protected]</from>
<subject>Testing %logger
{20}
- %m</subject>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%d
{HH:mm:ss.SSS}
[%thread] %-5level %logger
{1}
-%msg%n
</pattern>
</layout>
</appender>
<root level="info">
<appender-ref ref="EMAIL" />
</root>
</configuration>
控制檯
10:45:44,596 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
10:45:44,596 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
10:45:44,596 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [file:/C:/Users/xxxxx/workspace/logback-test/target/classes/logback.xml]
10:45:44,650 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
10:45:44,658 |-INFO in ch.qos.logback.core.joran.action.StatusListenerAction - Added status listener of type [ch.qos.logback.core.status.OnConsoleStatusListener]
10:45:44,673 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.classic.net.SMTPAppender]
10:45:44,688 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [EMAIL]
10:45:44,765 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO
10:45:44,765 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [EMAIL] to Logger[ROOT]
10:45:44,766 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
10:45:44,767 |-INFO in [email protected] - Registering current configuration as safe fallback point
10:45:44,774 |-INFO in ch.qos.logback.classic.net.SMTPAppender[EMAIL] - SMTPAppender [EMAIL] is tracking [1] buffers
exiting
10:45:44,791 |-INFO in ch.qos.logback.classic.net.SMTPAppender[EMAIL] - About to send out SMTP message "Testing Main" to [[email protected]]
10:45:44,791 |-INFO in ch.qos.logback.classic.net.SMTPAppender[EMAIL] - About to send out SMTP message "Testing Main" to [[email protected]]
這是運行產生我的測試錯誤代碼
logger.error("Entering app");
logger.error("exiting app");
System.out.println("exiting");
任何幫助調試此問題將不勝感激 謝謝
您是否有權訪問發送郵件的smtp服務器的日誌?這可能是該系統出現錯誤。 –
不幸的是,我沒有,我用來測試的服務器是由ISP運行的。這是一個有趣的想法,但我可能會嘗試設置自己的服務器進行測試。 – jln646v
我面臨同樣的問題。無法發送電子郵件。我已經使用了與上面相同的代碼。請建議解決方案。 – Rishi