1

次のlog4net構成があります

  <log4net debug="true">
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="Logs\\CurrentLog.txt"/>
      <appendToFile value="true"/>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>
      </layout>
    </appender>
    <root>
      <priority value="ALL"/>
      <appender-ref ref="RollingLogFileAppender"/>
    </root>
  </log4net>

別のアセンブリからのイベントを別のファイルに記録することは可能ですか?たとえば、

Castle.Facilities.NhibernateIntegration

そうでない場合、イベントをフィルタリングするためのより良い方法はありますか?
ストリームをエラーだけに制限したくありません。

4

1 に答える 1

1

ロガーは名前で構成できます。慣用的なlog4netプラクティスに従っている場合、ロガーは完全なによって名前が付けられますNamespace.TypeName。アペンダーをロガーに割り当てるには、2つの方法があります。

1つ目は、特別なアペンダーを直接埋め込むことです。

<logger name="Castle.Facilities.NhibernateIntegration">
    <level value="INFO" />
    <appender name="CastleNhIntegrationAppender" type="...">
        <!-- put the full appender configuration here -->
    </appender>
</logger>

または、アペンダーを定義してロガーで参照します

<appender name="CastleNhIntegrationAppender" type="...">
    <!-- put the full appender configuration here -->
</appender>

<logger name="Castle.Facilities.NhibernateIntegration">
    <level value="INFO" />
    <appender-ref ref="CastleNhIntegrationAppender" />
</logger>
于 2011-06-16T03:34:26.407 に答える