在我的spring boot项目中,我在本地运行项目时使用了logback.xml,它将消息记录到指定文件中,但是当我部署在远程服务器上时,它仍然写入tomcat中的catalina.out文件。 这是我的代码。 logback.xml
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- Log message format -->
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- Setting the root level of logging to INFO -->
<root level="info">
<appender-ref ref="FILE" />
</root>
</configuration>
我在pom.xml文件中指定了这些依赖项。
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</dependency>
<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-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
在application.properties文件中,我指定了日志文件属性。
logging.file=var/log/sampleproject_logging.log
在application-dev.properties文件中,我为远程服务器指定了日志文件。
spring.profiles.active = dev
#logging info
#logging.file=var/log/sampleproject/sampleproject_logging.log
当我在本地运行时,它在项目结构和记录的消息下创建了文件夹。当部署在远程服务器上时,它仍然登录到catalina.out文件。如何写入远程服务器上的指定日志文件?我试过logback-spring.xml和logging.config属性对我没用。
答案 0 :(得分:0)
你错过了#34; FILE&#34; logback.xml中的Appender定义
添加类似这样的内容
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>yourlogName.log</file>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>