Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.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

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包使用不同的日志级别?_Java_Logging_Logback - Fatal编程技术网

不同的日志附加程序对同一java包使用不同的日志级别?

不同的日志附加程序对同一java包使用不同的日志级别?,java,logging,logback,Java,Logging,Logback,以下是我的java logback配置: <?xml version="1.0" encoding="UTF-8"?> <configuration> <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender"> <encoder charset="UTF-8"> <pattern>%d{yyyy-MM-dd HH:mm:ss} %-

以下是我的java logback配置:

<?xml version="1.0" encoding="UTF-8"?>
  <configuration>
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
    <encoder charset="UTF-8">
        <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level %msg%n></pattern>
    </encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <encoder charset="UTF-8">
        <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n
        </pattern>
    </encoder>
</appender>
    <logger name="org.apache.zookeeper"  additivity="false">  
     <appender-ref ref="stdout"/>  
   </logger>
   <logger name="com.hazelcast"  additivity="false">  
      <appender-ref ref="stdout"/>  
 </logger>  
<root level="INFO">
    <appender-ref ref="FILE" />
</root>

%d{yyyy-MM-dd HH:MM:ss}%-5级%msg%n>
%d{yyyy-MM-dd HH:MM:ss}%-5级%logger{36}-%msg%n

我想在这里做的是: 我有两个日志追加器:一个用于控制台,另一个用于日志文件;但是对于同一个java包(例如:org.apache.zookeeper),我希望使用两个不同的日志级别,INFO用于文件appender,ERROR用于condole; 但是我的日志配置不正常。
有人能找出我的错误或一些解决方案吗?

由于每个Java包的日志级别只能在全局范围内定义,因此您可以在控制台附件中使用a来筛选
错误
下面的所有级别。

您只需阻止它们:

    <filter class="ch.qos.logback.core.filter.EvaluatorFilter">  
        <evaluator>   
            <expression>logger.contains("zookeeper") || logger.contains("hazelcast")    </expression>  
        </evaluator>  
        <OnMismatch>ACCEPT</OnMismatch>  
        <OnMatch>DENY</OnMatch>  
    </filter>  

logger.contains(“zookeeper”)| | logger.contains(“hazelcast”)
接受
否认