sgmoore
sgmoore

Reputation: 16077

In log4net, should be output for a named logger also go to the default appender?

If I have log4net configured as below

    <root>
        <level value="INFO" />
        <appender-ref ref="RollingFileAppender" />
    </root>

    <logger name="MyNamespace.MyClass">
        <level value="INFO" />
        <appender-ref ref="AdoNetAppender" />
    </logger>

I would like the output from the named class to end up only in the sql database (via the adoNetAppender) and not in both the sql database and the log file (via the rollingfileappender).

Is there a way of achieving that?

Upvotes: 2

Views: 284

Answers (1)

Peter Lillevold
Peter Lillevold

Reputation: 33940

You can set the additivity attribute on logger to false. From the documentation:

Set this attribute to false to prevent this logger from inheriting the appenders defined on parent loggers.

<logger name="MyNamespace.MyClass" additivity="false">
    <level value="INFO" />
    <appender-ref ref="AdoNetAppender" />
</logger>

Upvotes: 3

Related Questions