不同的日志附加程序对同一java包使用不同的日志级别?
以下是我的java logback配置:不同的日志附加程序对同一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} %-
<?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”)
接受
否认