Java 在远程服务器上部署时如何将消息登录到文件

Java 在远程服务器上部署时如何将消息登录到文件,java,spring,logging,spring-boot,logback,Java,Spring,Logging,Spring Boot,Logback,在我的spring boot项目中,当我在本地运行我的项目时,我使用了logback.xml,它将消息记录到指定的文件中,但当我在远程服务器上部署时,它仍在写入tomcat中的catalina.out文件中。 这是我的密码。 logback.xml <configuration> <include resource="org/springframework/boot/logging/logback/base.xml"/> <appender name="STDOUT

在我的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>
在application-dev.properties文件中,我为远程服务器指定了日志文件

spring.profiles.active = dev

#logging info
#logging.file=var/log/sampleproject/sampleproject_logging.log
当我在本地运行时,它会在项目结构下创建文件夹并记录消息。当部署到远程服务器上时,它仍会登录到catalina.out文件。如何在远程服务器上写入指定的日志文件?我尝试了logback-spring.xml和logging.config属性,但没有任何效果。

您的logback.xml中缺少“FILE”Appender定义

<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>
加上这样的东西

<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>

yourlogName.log
%d{yyyy-MM-dd HH:MM:ss.SSS}[%thread]-5级别%logger{36}-%msg%n

我也试过这个。我创建了logback-local.xml和logback-dev.xml,并添加了这个var/log/sampleproject_logging.log%date%level[%thread]%logger{10}[%file:%line]%msg%n我创建了application-dev.property文件并指定了logging.config=classpath:logback-dev.xml。当我在本地运行时,它会显示在控制台和文件中。但在远程运行时,它不会写入指定的文件。
<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>