Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.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
Tomcat7 如何创建滚动日志文件_Tomcat7_Slf4j_Logback - Fatal编程技术网

Tomcat7 如何创建滚动日志文件

Tomcat7 如何创建滚动日志文件,tomcat7,slf4j,logback,Tomcat7,Slf4j,Logback,我好像找不到滚动日志文件 My logback.xml配置包含以下内容: <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%date %level %thread %X{jobid} %logger{20}.%method\(%line\) %msg%n</pattern> </enc

我好像找不到滚动日志文件

My logback.xml配置包含以下内容:

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>%date %level %thread %X{jobid} %logger{20}.%method\(%line\) %msg%n</pattern>
    </encoder>
</appender>

<appender name="SIFT" class="ch.qos.logback.classic.sift.SiftingAppender">
    <discriminator>
        <key>logFileName</key>
        <defaultValue>unknown</defaultValue>
    </discriminator>
    <sift>
        <appender name="FILE-${logFileName}" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${catalina.base}/logs/${logFileName}.log</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <fileNamePattern>${catalina.base}/logs/${logFileName}_%d{yyyy-MM-dd_HH-mm}.%i.log</fileNamePattern>
                <maxHistory>30</maxHistory>
            </rollingPolicy>
            <encoder>
                <pattern>%date %level %thread %X{jobid} %logger{20}.%method\(%line\) %msg%n</pattern>
            </encoder>
        </appender>
    </sift>
</appender>


<root level="INFO">
    <appender-ref ref="STDOUT" />
    <appender-ref ref="SIFT" />
</root>

只是一个猜测,但可能是因为你没有记录任何东西。他们是这样“懒惰的”。

只是猜测,但可能是因为你没有记录任何东西。他们是这样“懒惰的”。

从文件名模式中删除%i似乎可以解决问题。我猜索引(%I)只允许用于FixedWindowRollingPolicy。

从文件名模式中删除%I似乎可以解决问题。我猜索引(%I)只允许用于FixedWindowRollingPolicy。

试试这个

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
    <property name="USER_HOME" value="\logs" />

    <appender name="FILE-THREAD" class="ch.qos.logback.classic.sift.SiftingAppender">

        <!-- This is MDC value -->
        <!-- We will assign a value to 'logFileName' via Java code -->
        <discriminator>
            <key>logFileName</key>
            <defaultValue>head0</defaultValue>
        </discriminator>

        <sift>

            <!-- A standard RollingFileAppender, the log file is based on 'logFileName' 
                at runtime -->
            <appender name="FILE-${logFileName}"
                class="ch.qos.logback.core.rolling.RollingFileAppender">
                <file>${USER_HOME}/${logFileName}.log</file>

                <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
                    <Pattern>
                        %d{yyyy-MM-dd HH:mm:ss} %mdc [%thread] %level %logger{35}
                        - %msg%n
                    </Pattern>
                </encoder>

                <rollingPolicy
                    class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
                    <FileNamePattern>${USER_HOME}/${logFileName}.%i.log.zip
                    </FileNamePattern>
                    <MinIndex>1</MinIndex>
                    <MaxIndex>10</MaxIndex>
                </rollingPolicy>

                <triggeringPolicy
                    class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
                    <MaxFileSize>10MB</MaxFileSize>
                </triggeringPolicy>

            </appender>

        </sift>
    </appender>

日志文件名
人头0
${USER_HOME}/${logFileName}.log
%d{yyyy-MM-dd HH:MM:ss}%mdc[%thread]%级别%logger{35}
-%msg%n
${USER\u HOME}/${logFileName}.%i.log.zip
1.
10
10MB
试试这个

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
    <property name="USER_HOME" value="\logs" />

    <appender name="FILE-THREAD" class="ch.qos.logback.classic.sift.SiftingAppender">

        <!-- This is MDC value -->
        <!-- We will assign a value to 'logFileName' via Java code -->
        <discriminator>
            <key>logFileName</key>
            <defaultValue>head0</defaultValue>
        </discriminator>

        <sift>

            <!-- A standard RollingFileAppender, the log file is based on 'logFileName' 
                at runtime -->
            <appender name="FILE-${logFileName}"
                class="ch.qos.logback.core.rolling.RollingFileAppender">
                <file>${USER_HOME}/${logFileName}.log</file>

                <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
                    <Pattern>
                        %d{yyyy-MM-dd HH:mm:ss} %mdc [%thread] %level %logger{35}
                        - %msg%n
                    </Pattern>
                </encoder>

                <rollingPolicy
                    class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
                    <FileNamePattern>${USER_HOME}/${logFileName}.%i.log.zip
                    </FileNamePattern>
                    <MinIndex>1</MinIndex>
                    <MaxIndex>10</MaxIndex>
                </rollingPolicy>

                <triggeringPolicy
                    class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
                    <MaxFileSize>10MB</MaxFileSize>
                </triggeringPolicy>

            </appender>

        </sift>
    </appender>

日志文件名
人头0
${USER_HOME}/${logFileName}.log
%d{yyyy-MM-dd HH:MM:ss}%mdc[%thread]%级别%logger{35}
-%msg%n
${USER\u HOME}/${logFileName}.%i.log.zip
1.
10
10MB

编辑了问题。虽然catalina.out(即STDOUT appender)不断收到条目,但筛选附加程序在分钟的最顶端停止。编辑了问题。虽然catalina.out(即STDOUT appender)不断收到条目,但SIFT appender在一分钟的顶端停止。