Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Different log appenders use the different log level for the same java package?

here is my java logback configuration:

<?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>

what i want to do here is: I have two log appenders: one for console,and another for log file; But for the same java package(for example:org.apache.zookeeper) I want use two different log level,INFO for file appender and ERROR for condole; But my log configuration upside doesn't work right. Can anyone figure out my errors or some solutions?

like image 819
Winston Avatar asked Jan 31 '26 01:01

Winston


1 Answers

Since the log level per Java package can only be defined globally, you may use a ThresholdFilter to filter all levels below ERROR in your console appender.

like image 123
Heri Avatar answered Feb 01 '26 16:02

Heri