vb.net - 切り替え - log4net 設定




log.IsDebugEnabledがtrueになるようにlog4netを設定するにはどうすればよいですか? (4)

LogManager.GetLogger( "")を呼び出す前に、

あなたはlog4net.Config.XmlConfigurator.Configure()を呼び出さなければなりません。 ASP.NETアプリケーションでは、おそらくこの呼び出しをApplication_Startに入れたいと思うでしょう

私はVisual Studio 2005でASP.NETアプリケーションでlog4netを使用しようとしています。私はロガーのインスタンスを次のように宣言しました:

Private Shared ReadOnly log As ILog = LogManager.GetLogger("")

私は次の方法でそれを使用しようとしています:

If log.IsDebugEnabled Then
   log.Debug("Integration Services Constructed")
End If

ここに私の構成です:

<log4net>

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

    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
        <file value="..\\logs\\logfile.log"/>
        <appendToFile value="true"/>
        <rollingStyle value="Size"/>
        <maxSizeRollBackups value="10"/>
        <maximumFileSize value="1MB"/>
        <staticLogFileName value="true"/>
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>
        </layout>
        <filter type="log4net.Filter.LevelRangeFilter">
            <param name="LevelMin" value="DEBUG" />
            <param name="LevelMax" value="FATAL" />
        </filter>
    </appender>

</log4net>

残念ながら、 log.IsDebugEnabledは常にfalseです。
デバッグメッセージだけを記録できるようにlog4netを設定するにはどうすればよいですか?


VB.NET -

<Assembly: log4net.Config.XmlConfigurator(Watch:=True)> 

はい、それはアンソンが言ったようにしてください。 また、クラスライブラリで設定を呼び出す場合は、クラスに属性を追加することでそれを行うことができます:

[assembly: XmlConfigurator(Watch = true)]

log4net.configファイルを使用している場合は、代わりにそのように使用してください:

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]

ログを使用する前に、任意の方法でこれを使用します。

log4net.Config.XmlConfigurator.Configure();

App.Configでは、設定は次のようになります。

<root>
      <level value="ALL" />
      <appender-ref ref="AppenderName" />
    </root>




log4net