Java Logback和SMTPAppender问题
我将Logback添加到我的Spring Boot项目中,它可以在写入文件或标准输出时工作。现在我想发送日志电子邮件,但如果我尝试配置SMTPAppender,则会出现以下错误: 使用中的配置初始化日志系统失败 'logback spring.xml'java.lang.IllegalStateException:logback 检测到配置错误:中存在错误 ch.qos.logback.core.joran.action.AppenderAction-无法创建 [ch.qos.logback.classic.net.SMTPAppender]类型的追加器。 ch.qos.logback.core.util.DynamicClassLoadingException:未能 在中实例化类型ch.qos.logback.classic.net.SMTPAppender错误 ch.qos.logback.core.joran.spi。Interpreter@8:76-中的ActionException 标记[appender]的操作 ch.qos.logback.core.joran.spi.ActionException: ch.qos.logback.core.util.DynamicClassLoadingException:未能 在中实例化类型ch.qos.logback.classic.net.SMTPAppender错误 ch.qos.logback.core.joran.action.AppenderRefAction-找不到 名为[EMAIL]的appender。你是在下面而不是在上面定义的吗 配置文件?错误 ch.qos.logback.core.joran.action.AppenderRefAction-请参阅 更多细节。在 org.springframework.boot.logging.logback.LogbackLoggingSystem.loadConfiguration(LogbackLoggingSystem.java:162) 在 org.springframework.boot.logging.AbstractLoggingSystem.initializeWithSpecificConfig(AbstractLoggingSystem.java:66) 在 org.springframework.boot.logging.AbstractLoggingSystem.initialize(AbstractLoggingSystem.java:56) 在 org.springframework.boot.logging.logback.LogbackLoggingSystem.initialize(LogbackLoggingSystem.java:115) 在 org.springframework.boot.logging.LoggingApplicationListener.initializeSystem(LoggingApplicationListener.java:308) 在 org.springframework.boot.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:276) 在 org.springframework.boot.logging.LoggingApplicationListener.onApplicationEnvironmentPrepareEvent(LoggingApplicationListener.java:239) 在 org.springframework.boot.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:212) 在 org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:167) 在 org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) 在 org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:122) 在 org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:73) 在 org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:54) 在 org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:336) 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:307) 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:1162) 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:1151) 在 cfpappserver.CfpAppServerApplication.main(CfpAppServerApplication.java:10) 线程“main”java.lang.IllegalStateException中的异常: java.lang.IllegalStateException:检测到Logback配置错误: ch.qos.logback.core.joran.action.AppenderAction中出错-无法 创建[ch.qos.logback.classic.net.SMTPAppender]类型的追加器。 ch.qos.logback.core.util.DynamicClassLoadingException:未能 在中实例化类型ch.qos.logback.classic.net.SMTPAppender错误 ch.qos.logback.core.joran.spi。Interpreter@8:76-中的ActionException 标记[appender]的操作 ch.qos.logback.core.joran.spi.ActionException: ch.qos.logback.core.util.DynamicClassLoadingException:未能 在中实例化类型ch.qos.logback.classic.net.SMTPAppender错误 ch.qos.logback.core.joran.action.AppenderRefAction-找不到 名为[EMAIL]的appender。你是在下面而不是在上面定义的吗 配置文件?错误 ch.qos.logback.core.joran.action.AppenderRefAction-请参阅 更多细节。在 org.springframework.boot.logging.LoggingApplicationListener.initializeSystem(LoggingApplicationListener.java:315) 在 org.springframework.boot.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:276) 在 org.springframework.boot.logging.LoggingApplicationListener.onApplicationEnvironmentPrepareEvent(LoggingApplicationListener.java:239) 在 org.springframework.boot.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:212) 在 org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:167) 在 org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) 在 org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:122) 在 org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:73) 在 org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:54) 在 org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:336) 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:307) 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:1162) 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:1151) 在 cfpappserver.CfpAppServerApplication.main(CfpAppServerApplication.java:10) 原因:java.lang.IllegalStateException:Logback配置 检测到错误:中存在错误 ch.qos.logback.core.joran.actionJava Logback和SMTPAppender问题,java,spring,logback,Java,Spring,Logback,我将Logback添加到我的Spring Boot项目中,它可以在写入文件或标准输出时工作。现在我想发送日志电子邮件,但如果我尝试配置SMTPAppender,则会出现以下错误: 使用中的配置初始化日志系统失败 'logback spring.xml'java.lang.IllegalStateException:logback 检测到配置错误:中存在错误 ch.qos.logback.core.joran.action.AppenderAction-无法创建 [ch.qos.logback.c
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/>
<include resource="org/springframework/boot/logging/logback/file-appender.xml"/>
<appender name="EMAIL" class="ch.qos.logback.classic.net.SMTPAppender">
<asynchronousSending>false</asynchronousSending>
<smtpHost>smtp.gmail.com</smtpHost>
<to>my email</to>
<from>my email</from>
<username>xxx</username>
<password>xxx</password>
<subject>%logger{20} - %m</subject>
<layout class="ch.qos.logback.classic.html.HTMLLayout"/>
<cyclicBufferTracker class="ch.qos.logback.core.spi.CyclicBufferTracker">
<bufferSize>1</bufferSize>
</cyclicBufferTracker>
<starttls>true</starttls>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<filter class="org.lh.cfpappserver.util.StdOutFilter"/>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="FILE"/>
<appender-ref ref="EMAIL"/>
<appender-ref ref="STDOUT"/>
</root>
</configuration>