Java 将日志打印到文件中

Java 将日志打印到文件中,java,logging,logback,ktor,Java,Logging,Logback,Ktor,我有一个Ktor服务器应用程序,我希望日志的输出在一个文件中,这是我对logback.xml的配置: %d{YYYY-MM-dd HH:MM:ss.SSS}[%thread]-5级别%logger{36}-%msg%n 日志/日志-%d{yyyy-MM-dd}.log 30 3GB 3MB %d{HH:mm:ss.SSS}[%thread]-5级别%logger{36}-%msg%n 当我使用java-jarserver.jar运行服务器时,一切正常,日志被写入文件。/logs文件夹具有07

我有一个Ktor服务器应用程序,我希望日志的输出在一个文件中,这是我对logback.xml的配置:


%d{YYYY-MM-dd HH:MM:ss.SSS}[%thread]-5级别%logger{36}-%msg%n
日志/日志-%d{yyyy-MM-dd}.log
30
3GB
3MB
%d{HH:mm:ss.SSS}[%thread]-5级别%logger{36}-%msg%n
当我使用java-jarserver.jar运行服务器时,一切正常,日志被写入文件。/logs文件夹具有0777权限,因此每个人都可以访问和写入它

当我使用nohup java-jar server.jar&以detached模式运行服务器时,问题就出现了,这样,服务器就不会写入文件

有什么想法吗

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>%d{YYYY-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
</appender>

<appender name="rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>logs/log-%d{yyyy-MM-dd}.log</fileNamePattern>
        <maxHistory>30</maxHistory>
        <totalSizeCap>3GB</totalSizeCap>
    </rollingPolicy>
    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
        <maxFileSize>3MB</maxFileSize>
    </triggeringPolicy>
    <encoder>
        <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
</appender>

<root level="info">
    <appender-ref ref="STDOUT"/>
    <appender-ref ref="rollingFile"/>
</root>

<logger name="org.eclipse.jetty" level="INFO"/>
<logger name="io.netty" level="INFO"/> </configuration>