当包含自定义登录设置文件(logback-spring.xml(时,Spring 引导应用程序部署失败并显示 JNDI debub 消息。这仅在 linux 环境和 Windows 环境中发生,即使显示相同的调试消息,应用程序运行也不会出现任何问题。
调试消息的长列表很少
15:33:22.537 [https-jsse-nio-8443-exec-70] DEBUG org.springframework.jndi.JndiTemplate - Looking up JNDI object with name [java:comp/env/logging.exception-conversion-word]
15:33:22.540 [https-jsse-nio-8443-exec-70] DEBUG org.springframework.jndi.JndiLocatorDelegate - Converted JNDI name [java:comp/env/logging.exception-conversion-word] not found - trying original name [logging.exception-conversion-word]. javax.naming.NameNotFoundException: Name [logging.exception-conversion-word] is not bound in this Context. Unable to find [logging.exception-conversion-word].
15:33:22.540 [https-jsse-nio-8443-exec-70] DEBUG org.springframework.jndi.JndiTemplate - Looking up JNDI object with name [logging.exception-conversion-word]
15:33:22.540 [https-jsse-nio-8443-exec-70] DEBUG org.springframework.jndi.JndiPropertySource - JNDI lookup for name [logging.exception-conversion-word] threw NamingException with message: Name [logging.exception-conversion-word] is not bound in this Context. Unable to find [logging.exception-conversion-word].. Returning null.
聚甲醛文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>licenserequestsimulator</artifactId>
<packaging>war</packaging>
<name>License Request Simulator</name>
<description>License Request Simulator</description>
<url>https://pronto.net/</url>
<version>1.0</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.3.RELEASE</version>
</parent>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.ibm.informix</groupId>
<artifactId>jdbc</artifactId>
<version>4.10.7.20160517</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.42</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.7</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
倒数弹簧.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<property name="DEV_HOME" value="/logs/prontolicensing/" />
<property resource="application.properties" />
<!-- Datasource connection example -->
<appender name="DB" class="ch.qos.logback.classic.db.DBAppender">
<connectionSource class="ch.qos.logback.core.db.DataSourceConnectionSource">
<dataSource class="org.apache.tomcat.jdbc.pool.DataSource">
<driverClassName>${spring.datasource.driver-class-name}</driverClassName>
<url>${spring.datasource.url}</url>
<username>${spring.datasource.username}</username>
<password>${spring.datasource.password}</password>
</dataSource>
</connectionSource>
</appender>
<!-- Datasource connection example ends-->
<!--File appender-->
<appender name="fileAppender"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${DEV_HOME}/pronto-licensing-file.log</file>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>
%d{yyyy-MM-dd HH:mm:ss} - %msg%n
</Pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
rollover daily
<fileNamePattern>
${DEV_HOME}/archived/pronto-licensing-file.%d{yyyy-MM-dd}.%i.log
</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
<logger name="fileLogger" level="INFO" additivity="false">
<appender-ref ref="fileAppender" />
</logger>
<!--File appender ends-->
<root level="ERROR">
<appender-ref ref="DB" />
</root>
我应该怎么做才能克服这个问题?
尝试将logback-spring.xml
更改为logback.xml
。
在这种情况下,Spring 引导不会使用其模板配置回日志(如此处所述(。
所有关于JNDI名称的消息都应该消失 - 就像Spring Boot中的logback自动配置功能一样。
我遇到了同样的问题,如果您将 logback-spring.xml 更改为 logback.xml这些痕迹将从控制台中消失,但它们将写入".log"文件中。我不知道如何从控制台和日志文件中删除它们,但至少您可以选择