Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
设置具有审慎标志和文件位置的Logback RollingFileAppender_Logback - Fatal编程技术网

设置具有审慎标志和文件位置的Logback RollingFileAppender

设置具有审慎标志和文件位置的Logback RollingFileAppender,logback,Logback,如何在Logback中创建一个RollingFileAppender,它接受审慎标志并允许我指定日志文件的位置 我尝试了以下方法,但据我从文档中了解,logback不支持file属性。是否有其他方法设置日志文件位置 <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${MY_LOG_LOCATION_PROP}/logs/mylog

如何在Logback中创建一个
RollingFileAppender
,它接受审慎标志并允许我指定日志文件的位置

我尝试了以下方法,但据我从文档中了解,logback不支持file属性。是否有其他方法设置日志文件位置

   <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${MY_LOG_LOCATION_PROP}/logs/mylogfile.log</file>
        <prudent>true</prudent>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- rollover daily -->
            <fileNamePattern>mylogfile-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

${MY\u LOG\u LOCATION\u PROP}/logs/mylogfile.LOG
真的
mylogfile-%d{yyyy-MM-dd}。%i.log
%d{HH:mm:ss.SSS}[%thread]-5级别%logger{36}-%msg%n

您可以在文件名模式中包含路径:

<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    <fileNamePattern>/var/log/myapp/mylogfile-%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>

/var/log/myapp/mylogfile-%d{yyyy-MM-dd}.log

如果缺少
文件
属性,将从
文件名模式
的值推断当前活动的日志文件。因此,
文件
属性不是强制性的。同样重要的是,在谨慎模式下,必须为空

以下是文档中关于以下内容的相关引用:

请注意,RollingFileAppender(的父级)中的文件属性 TimeBasedRollingPolicy)可以设置或省略。通过设置 包含FileAppender的文件属性,可以解耦 活动日志文件的位置和存档日志的位置 文件夹。当前日志将始终以指定的文件为目标 通过文件属性。因此,当前活动的 日志文件不会随时间而更改。但是,如果您选择省略 属性,则将为每个属性重新计算活动文件 基于fileNamePattern值的句点。下面的例子 应该澄清这一点


Julien我认为您不能在TimeBasedRollingPolicy中添加%I。您将在IntegerTokenConverter上获得IllegalArgumentException,其中包含logback无法将对象转换为特定类型的信息。