Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.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
Java 如何仅将LoggerMarker记录到特定文件?_Java_Logging_Configuration_Log4j_Log4j2 - Fatal编程技术网

Java 如何仅将LoggerMarker记录到特定文件?

Java 如何仅将LoggerMarker记录到特定文件?,java,logging,configuration,log4j,log4j2,Java,Logging,Configuration,Log4j,Log4j2,我正在尝试使用log4j2实现以下目标: 将所有常规内容记录到控制台,但只将MarkerFilter.FILTERED记录到特定文件,而不记录到控制台 <Configuration> <Appenders> <Console name="CONSOLE" target="SYSTEM_OUT"> <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatc

我正在尝试使用
log4j2
实现以下目标:

将所有常规内容记录到控制台,但只将
MarkerFilter.FILTERED
记录到特定文件,而不记录到控制台

<Configuration>
    <Appenders>
        <Console name="CONSOLE" target="SYSTEM_OUT">
            <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
        </Console>


        <RollingFile name="FILTERED" fileName="filtered.txt" />
            <MarkerFilter marker="FILTERED" onMatch="ACCEPT" onMismatch="DENY"/>
        </RollingFile>
    </Appenders>

    <Loggers>
        <Root level="all">
            <AppenderRef ref="CONSOLE" />
            <AppenderRef ref="FILTERED" />
        </Root>
    </Loggers>
</Configuration>

以下内容通常可以使用,但会将任何
过滤的
内容另外记录到控制台。

但是,当我删除
窗体
记录器时,文件中不再记录任何内容

如何使用控制台appender上的标记过滤器进行拒绝操作

您可以在appender ref上设置级别,因此不需要为此使用
ThresholdFilter

<Configuration status="warn">
    <Appenders>
        <Console name="CONSOLE" target="SYSTEM_OUT">
            <MarkerFilter marker="FILTERED" onMatch="DENY" onMismatch="ACCEPT"/>
        </Console>

        <RollingFile name="FILTERED" fileName="filtered.txt" />
            <MarkerFilter marker="FILTERED" onMatch="ACCEPT" onMismatch="DENY"/>
        </RollingFile>
    </Appenders>

    <Loggers>
        <Root level="all">
            <AppenderRef ref="CONSOLE" level="info" />
            <AppenderRef ref="FILTERED" />
        </Root>
    </Loggers>
</Configuration>