11

奇妙な問題があるため、nHibernate によって生成されたすべての SQL をログに記録しています。これだけでも巨大なログが生成されるため、特定の ID を含む行のみをログに記録することでログを少し短くしようとしています。まだすべてが通り抜けているようです。ここで何か変に見えますか?

    <appender name="RollingFile" type="log4net.Appender.RollingFileAppender,log4net" >

        <param name="File" value="nHibernate.txt" />
        <param name="AppendToFile" value="true" />
        <param name="DatePattern" value="yyyy.MM.dd" />

        <layout type="log4net.Layout.PatternLayout,log4net">
            <conversionPattern value="%d %p %m%n" />
        </layout>

        <filter type="log4net.Filter.StringMatchFilter">
            <stringToMatch value="5764" />
            <acceptOnMatch value="true" />
        </filter>

    </appender>

    <logger name="NHibernate.SQL" additivity="false">
        <level value="DEBUG" />
        <appender-ref ref="RollingFile" />
    </logger>
4

1 に答える 1

24

このコードを追加する必要があることがわかりました。

<filter type="log4net.Filter.DenyAllFilter" />

完全なブロックは次のようになります。

<appender name="RollingFile" type="log4net.Appender.RollingFileAppender,log4net">
    
    <param name="File" value="nHibernate.txt" />
    <param name="AppendToFile" value="true" />
    <param name="DatePattern" value="yyyy.MM.dd" />

    <layout type="log4net.Layout.PatternLayout,log4net">
        <conversionPattern value="%d %p %m%n" />
    </layout>

    <filter type="log4net.Filter.StringMatchFilter">
        <stringToMatch value="5764" />
        <acceptOnMatch value="true" />
    </filter>

    <!-- need this here! -->
    <filter type="log4net.Filter.DenyAllFilter" />
    
</appender>

<logger name="NHibernate.SQL" additivity="false">
    <level value="DEBUG" />
    <appender-ref ref="RollingFile" />
</logger>
于 2012-07-03T17:22:35.113 に答える