Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.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 一个附加器用于多个记录器 某些路径${file.separator}mainLogFile.log ${mainLogFilePattern} 某些路径${file.separator}additionalLogFile.log ${defaultFilePattern} 系统输出 ${defaultConsolePattern}_Java_Logging_Logback_Slf4j - Fatal编程技术网

Java 一个附加器用于多个记录器 某些路径${file.separator}mainLogFile.log ${mainLogFilePattern} 某些路径${file.separator}additionalLogFile.log ${defaultFilePattern} 系统输出 ${defaultConsolePattern}

Java 一个附加器用于多个记录器 某些路径${file.separator}mainLogFile.log ${mainLogFilePattern} 某些路径${file.separator}additionalLogFile.log ${defaultFilePattern} 系统输出 ${defaultConsolePattern},java,logging,logback,slf4j,Java,Logging,Logback,Slf4j,对于某些数据,要求不将部分信息输出到常规日志文件,而是输出到单独的日志文件,为此,创建了单独的记录器(附加)和附加器(附加文件)。但是我仍然需要将数据输出到控制台,对于控制台,appenderSTDOUT在rootlogger和additional中使用 但是,事实证明,在这种配置下,如果创建了一个非附加的记录器(通过slf4j创建,例如,通过类名),则不会显示System.out中的数据 如何解决这个问题?实际的错误是什么?我应该为两个不同的记录器创建两个不同的附加器吗 <configu

对于某些数据,要求不将部分信息输出到常规日志文件,而是输出到单独的日志文件,为此,创建了单独的
记录器
(附加)和
附加器
(附加文件)。但是我仍然需要将数据输出到控制台,对于控制台,
appender
STDOUT在
root
logger和
additional
中使用

但是,事实证明,在这种配置下,如果创建了一个非
附加的
记录器(通过
slf4j
创建,例如,通过类名),则不会显示
System.out
中的数据

如何解决这个问题?实际的错误是什么?我应该为两个不同的记录器创建两个不同的附加器吗

<configuration>
    <property name="defaultConsolePattern"
              value="%d{yyyy-MM-dd HH:mm:ss} [%logger] %highlight(%-5level) %-3L - %m %n" />
    <property name="defaultFilePattern"
              value="%d{yyyy-MM-dd HH:mm:ss} %-5level : %m %n" />
    <property name="mainLogFilePattern"
              value="%d{yyyy-MM-dd HH:mm:ss} [%file:%line] %-5level %m%n"/>


    <appender name = "MAIN_LOG_FILE" class = "ch.qos.logback.core.FileAppender">
        <file>some path${file.separator}mainLogFile.log</file>
        <encoder>
            <pattern>${mainLogFilePattern}</pattern>
        </encoder>
    </appender>

    <appender name = "ADDITIONAL_FILE" class = "ch.qos.logback.core.FileAppender">
        <file>some path${file.separator}additionalLogFile.log</file>
        <encoder>
            <pattern>${defaultFilePattern}</pattern>
        </encoder>
    </appender>

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <target>System.out</target>
        <encoder>
            <pattern>${defaultConsolePattern}</pattern>
        </encoder>
    </appender>

    <root level = "all">
        <appender-ref ref = "MAIN_LOG_FILE" />
        <appender-ref ref = "STDOUT" />
    </root>

    <logger name = "additional" level = "all" additivity="false">
        <appender-ref ref = "ADDITIONAL_FILE" />
        <appender-ref ref = "STDOUT" />
    </logger>

</configuration>