java - Is there a good way to use Slf4j to log certain event to a separate log file? -
i using slf4j logging in java service, type of events, want create separate log file it.
is possible use slf4j
implement that?
slf4j abstraction helps interface various logging frameworks - need select logging framework too. below example logback - if prefer other frameworks (jul, log4j2), same concept works well.
what need log special events under specific logger:
logger logger = loggerfactory.getlogger("my.special.events"); logger.info("oh my! has happened!");
then set logback (or framework of choice) send events coming via logger destination (another appender) too:
<configuration> <appender name="stdout" class="ch.qos.logback.core.consoleappender"> <encoder> <pattern>%msg%n</pattern> </encoder> </appender> <appender name="special" class="ch.qos.logback.core.fileappender"> <file>specialevents.log</file> <encoder> <pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern> </encoder> </appender> <logger name="my.special.events"> <appender-ref ref="special" /> </logger> <root level="debug"> <appender-ref ref="stdout" /> </root> </configuration>
this send special events both stdout , separate file. if need these events in file, set additivity false, described in docs.
Comments
Post a Comment