Reputation: 787
Is it possible to specify not package based wildcard, but logger name based wildcard in log4j 1.x?
I want something like this:
<logger name="*Reporter" >
<level value="INFO"/>
<appender-ref ref="ReportFileAppender"/>
</logger>
Upvotes: 1
Views: 4319
Reputation: 6023
No (see section "Logger Hierarchy"). What you are trying to do is to define a set of loggers which is not possible as every logger has its own name.
The following should mimic what you are trying to achieve:
<logger name="Reporter" >
<level value="INFO"/>
<appender-ref ref="ReportFileAppender"/>
</logger>
In every *Reporter class:
public class MyReporter {
private static final Logger logger = LogManager.getLogger("Reporter");
public MyReporter() {
logger.debug("foo");
}
}
My gut feeling is that you really should use packages instead.
Upvotes: 1