使Logback将日志打印到文件

时间:2020-08-18 10:33:54

标签: java logging logback ktor

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

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

当我使用 java -jar server.jar 运行服务器时,一切正常,并且日志已写入文件。 / logs文件夹具有0777权限,因此每个人都可以对其进行访问和写入。

当我使用 nohup java -jar server.jar&在分离模式下运行服务器时,问题出在服务器未写入文件中。

有什么想法吗?

0 个答案:

没有答案