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

Popular posts from this blog

sql - VB.NET Operand type clash: date is incompatible with int error -

SVG stroke-linecap doesn't work for circles in Firefox? -

python - TypeError: Scalar value for argument 'color' is not numeric in openCV -