Reputation: 1199
I am trying to create 'different' appenders based on different levels but so far I couldn't find a way to isolate logging levels....
<category name="com.sample" additivity="false">
<priority value="INFO" />
<appender-ref ref="AllAsync"/>
<appender-ref ref="ConsoleAppender"/>
</category>
I need a way to be able to land only INFO prioritised logs to be appended. As INFO level logging also puts on DEBUG marked loggers as well...this isn't helping me out.
Another thing is for 'same' package I could not define different logging appenders :
<category name="com.sample" additivity="false">
<priority value="INFO" />
<appender-ref ref="AllAsync"/>
<appender-ref ref="ConsoleAppender"/>
</category>
<category name="com.sample" additivity="false">
<priority value="DEBUG" />
<appender-ref ref="AllAsync"/>
<appender-ref ref="ConsoleAppender"/>
</category>
Here I am getting the errors something like :
log4j:ERROR Attempted to append to closed appender named [AllAsync].
log4j:ERROR Attempted to append to closed appender named [ConsoleAppender].
log4j:ERROR Attempted to append to closed appender named [ConsoleAppender].
log4j:ERROR Attempted to append to closed appender named [ConsoleAppender].
Upvotes: 5
Views: 603
Reputation: 66
You can filter by exact log level using a LevelMatchFilter according to the log4j Faq and wiki.
<filter class="org.apache.log4j.varia.LevelMatchFilter">
<param name="LevelToMatch" value="info"/>
<param name="AcceptOnMatch" value="true"/>
</filter>
Example here.
Upvotes: 2