Log4net は Apache log4j の .net バージョンで、XML 設定ログ エンジンのセットです。最近、統合の都合上、ログ システムを必要とするプログラムを検討することにしました。推薦してくれた Hao Wei に感謝します。
log4net システムは 7 つのログ レベルに分かれており、「WARN」に設定すると、DEBUG と INFO は記録されません。以下のようになります。
1. ALL
2. DEBUG
3. INFO
4. WARN
5. ERROR
6. FATAL
7. OFF
サンプル アプリケーションの作成
ステップ 1: log4net をダウンロードし
、logging.apache.org/log4net にアクセスして、最新バージョンを入手します。この例では、incubating-log4net-1.2.9-beta.zip を使用しました。正式バージョンを期待しています。
ステップ 2: ASP.NET Web アプリケーションを作成する。log4net
-1.2.0-beta8binnet に示されているように、このアプリケーションの作成については詳しく説明しません。対応する DLL を見つけて参照に追加します。一部のバージョンにはコンパイル済み DLL が含まれていないため、自分でコンパイルし、.NET V1.0 バージョンを使用して 1.1 または 2.0 に変換します。これは作業ミスではなく、意図的なものだと思います。 Java をプレイすることに慣れている人の多くはこのようです。
サンプル アプリケーションの構成
ステップ 3: アセンブリ情報を追加する
AssemblyInfo.cs ファイルを開き、
[assembly: log4net.Config.DOMConfigurator()]
を追加します。
この文は、log4net システムが構成ファイル Web.config を自動的に検索して、構成情報を取得してロードすることを意味します。 log4net が設定ファイルをいつでもリロードできるように監視したい場合は、次のように記述する必要があります。
[assembly:log4net.Config.DOMConfigurator(ConfigFile="filename",ConfigFileExtension="log4net",Watch=true)]
ステップ 4: 構成情報を追加するには
、Web.config ファイルを編集する必要があります。毎回本当に驚きます。わかりました。設定タグを見つけて、そのすぐ下に configSections を書き込みます (他人のことはまったく考慮せず、誰かが彼のように横暴だったらどうしますか? それからそのログ設定ファイルを書き込むだけです! APACHE はこれと同じだと思います)。例を見てみましょう:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler, log4net-net-1.0"
/>
</configSections >
<!-- このセクションには log4net 構成設定が含まれています -->
<log4net>
<!-- いくつかの出力アペンダを定義します -->
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type=" log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] <%X{auth}> - %m%n" />
< /layout>
</appender>
<!-- RollingFileAppender は、ファイルのロールオーバーをサイズまたは日付で確認します -->
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value= "C:\log\RollingLogHelloWorld.log" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="10" />
<param name="MinimumFileSize" 値="1000" />
<param name="RollingStyle" value="Size" />
<param name="StaticLogFileName" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name= "ConversionPattern" value="%d [%t] %-5p %-45c [%x] - %m%n" />
</layout>
</appender>
<!-- FileAppender はログに追加されます。手動で管理またはサイズ -->
<appender name="FileAppender" type="log4net.Appender.FileAppender">
<param name="File" value="LogHelloWorld.log" />
<!-- params で環境変数を使用する例-->
<!-- <param name="File" value="${TMP}\ApplicationKit.log" /> -->
<param name="AppendToFile" value="true" />
<layout type= "log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
</layout>
</appender>
< !-- ルート カテゴリをセットアップし、アペンダを追加し、デフォルト レベルを設定します -->
<root>
<level value="INFO" />
<appender-ref ref="ConsoleAppender" />
</root>
<!-- ApplicationKit カテゴリ - プレゼンテーション UI -->
<logger name="WebForm1">
<level value="INFO" />
<appender-ref ref="FileAppender" />
</logger>
</log4net>
</configuration>
Logger ノードの NAME 属性は、クラス名を参照する WebForm1 に設定されていることに注意してください。 LOG を追加する必要がある各クラスにそのようなノードを追加します。 OSWORKFLOW ワークフローについては、柔軟性、利便性、実用性は同時に実現できないことが多いと思います。ここでのレベルは INFO です。つまり、INFO 以下のものは記録されません。
サンプルアプリケーションの実行
ステップ 5: Log クラスを追加するには、
まず log4net を使用して参照を追加します
。 //次に、構成ファイルをよく調べれば、この宣言方法は簡単に理解できます。 . GetLogger("WebForm1");
ステップ 6: ログ オブジェクトの使用
これで、すべての構成作業が完了しました。次のステップは、ログ オブジェクトをテストしてアプリケーション層に接続することです。応答イベント Button1_Click イベント ハンドラーにボタンを追加するだけです。
log.Info("こんにちは、私はロガーです");
ステップ 7: アプリケーションを実行する
実行できるようになります。
ボタンをクリックするたびに、2006-02-13 10:12:30,671 [1228] INFO WebForm1 [] - Hello が
日付ファイルに表示されます。 「
世界、私はロガー」はそのような記録です。
まとめ:
シンプルで使いやすいので、久しぶりにSQLログを勉強しましょう(笑)。
詳細については、 http://logging.apache.org/log4net/ を参照してください。