C#使用してlog4netのロギング(II)

A、Nuget取り付けlog4netの - >インストール・パッケージにlog4net

第二に、追加のパラメータは、AssemblyInfo.csファイルにlog4net.dll。

[アセンブリ:log4net.Config.XmlConfigurator(のConfigFile = "log4net.config"、ConfigFileExtension = "設定"、時計=真)]

第三に、プロジェクトを右クリック→新しい項目→→xxxのプロフィール(WebまたはWinフォームを......)を追加し、名前を変更します。log4net.config→右クリックし、値「出力ディレクトリにコピー」→プロパティ→log4net.configから生成代わりに、新しいコピーします。

この構成では、次のノードを追加

コードをコピー
<! - -レベルレベル、ハイからローへ> 
<! -なし>致命的> ERROR> WARN> DEBUG> INFO> ALL - >
< -レベルは、その後、CSファイルERRORである場合:!説明log4netの呼び出し情報の内側()メソッドは、ログファイルに書き込まれていません- >
<log4netの> <! - エラーログクラス - > <ロガー名= "のlogError"> <! - Logクラス名 - > <レベル値= "ALL" /> <! - 定義レコードのログレベル - > <アペンダ-REF REF = "ErrorAppender" /> <! - 行く先の記録媒体 - > </ロガー> <! - クラスのログ情報 - > <ロガー名= "LOGINFO"> <レベル値= "ALL" /> <アペンダ-REF REF = "InfoAppender" /> </ロガー> <! - エラーログ追加のメディア - > <アペンダ名=「ErrorAppender」タイプ=「log4net.Appender.RollingFileAppender」> <! - Name属性は、どのメディアを使用するように指定することを意味し、クラスlog4net.Appender名前空間の名前を入力し、名前を指定します - - > ます。<param name = "ファイル" 値= "ログイン\\のlogError \\" /> <! - exeファイルのプログラムディレクトリにログ出力の相対 - > ます。<param name = "AppendToFile" 値= "true" を/> <! - ログ出力は上書きされません以前の情報 - > <=値 "100" /のparamの名前= "MaxSizeRollBackups"> < - バックアップファイルの数 - !> ます。<param name = "のMaxFileSize" 値= "10240" /> <! - ログファイルの最大サイズ - > ます。<param name = "StaticLogFileName" 値= "偽" /> <! - かどうかは、静的なファイル名を使用します - > <PARAM名= "DatePattern" 値= "YYYYMMDD&QUOT;の.htm&QUOT;" /> <! - 日志文件名 - > ます。<param name =「RollingStyle」値=「日付」/> <! - ここで作成したモードファイルには、日付を作成するための方法です - > <! - エラーログレイアウト - > <レイアウトタイプ= "log4net.Layout.PatternLayout"> <PARAM名= "ConversionPattern" 値= "&LT; HR COLOR =赤&GT;%N异常时间:%のD [%のT]&LT; BR&GT;%N异常级别:% - 5P&LT; BR&GT;%N异常类。 %のC&LT [%は、x]; BR&GT;%N%M&LT; BR&GT;%N&LT; HRサイズ= 1&GT;」/> </レイアウト> </アペンダ> <! - 追加情報メディアログ - > <アペンダ名= "InfoAppender" タイプ= "log4net.Appender.RollingFileAppender"> ます。<param name = "ファイル" 値= "ログイン\\たLogInfo \\" /> ます。<param name = "AppendToFile" 値= "true" を/> ます。<param name = "のMaxFileSize" 値= "10240" /> ます。<param name = "MaxSizeRollBackups" 値= "100" /> ます。<param name = "StaticLogFileName" 値= "偽" /> <PARAM名= "DatePattern" 値= "YYYYMMDD&QUOT;の.htm&QUOT;" /> ます。<param name = "RollingStyle" 値= "日付" /> <! - メッセージログレイアウト - > <レイアウトタイプ= "log4net.Layout.PatternLayout"> <PARAM名= "ConversionPattern" 値= "&LT; HR色=青&GT;%N日志时间:%のD [%のT]&LT; BR&GT;%N日志级别:% - 5P&LT; BR&GT;%N日志类。 %のC&LT [%は、x]; BR&GT;%N%M&LT; BR&GT;%N&LT; HRサイズ= 1&GT;」/> </レイアウト> </アペンダ> </ log4netの>
コードをコピー

 


ここではいくつかの他の構成は、


コードをコピー
//この設定は、ログを保存した他の形態をログに記録する必要がある場合は、あなたが見ることができ、テキストファイルに書き込まれますhttps://www.cnblogs.com/kliine/p/10950992.html
        
ます。<param name =「ファイル」値=「ロガー/」/>(値はロガーの値であり、ロガーという名前のファイルを作成するには、プロジェクトフォルダで表現//ログ保存場所も値=「Cすることができ:\ log.txtという「)
ます。<param name = "AppendToFile" 値= "true" を/> //追加するファイルのかどうか
ます。<param name = "RollingStyle" 値= "日付" /> //フォームの日付に変換
<PARAM名= "DatePattern" 値= "&QUOT; Logs_&QUOT; YYYYMMDD&QUOT;の.txt&QUOT;" /> //形式で生成するステップと、毎日のログを生成します
固定かどうます。<param name = "StaticLogFileName" 値= "偽" /> //ログファイル名、
<レイアウトタイプ= "log4net.Layout.PatternLayout、log4netの">
スタイルのように、下記を参照されていない場合 -  <PARAM NAME = "ConversionPattern" 値= "%D [%のT]%-5p%C%M%N" /> //この行3は、ログの出力形式を示し出力スタイル、自己修正
<PARAM名= "ヘッダ" 値= "&#をxA; ----------------------ヘッダ------------- -------------&#xAで; "/>
ます。<param name = "フッター" 値= "&#xAで、----------------------フッター------------- -------------&#xAで; "/>
コードをコピー

アウトプットスタイル:

メッセージログからのメッセージ出力、ILog.Debug(...)として出力します。%M(メッセージ) 
%N-(新新ライン):改行 
%D(日時):実行中の現在の文の出力時間 
%のR(実行時間):出力プログラムは、現在の文は、ミリ秒の数で実行する操作から消費されている 
現在の文のスレッドIDは:%のT(スレッドID) 
%P-(優先):DEBUG、INFOは、WARNことをログに記録し、そこから現在の優先レベル...など 
%のC(クラス):例えば、ログオブジェクトの現在の名前、: 
のF(ファイル)のファイル名出力文。 
%のL(ライン):出力文の行番号。 
%番号:いない場合は最小の長さは、そのような「%の-5level」などの空間、で埋められていることを示しするスペースの実際の長さは、場所5つの文字を満たさない場合は、最小幅レベルは、5文字の長さで表しています。

これらのものを使用すると、あなたが好きなコンテンツの任意の組み合わせの出力形式を使用することができます。

第四に、使用log4netのロギング

1ヘルパークラスを追加LogHelper

コードをコピー
パブリッククラスLogHelper
    {
        公共の静的な読み取り専用log4net.ILog LOGINFO = log4net.LogManager.GetLogger(「LOGINFO」); //ここでLOGINFOとlog4net.config名前では同じである必要があります
        公共の静的な読み取り専用log4net.ILogのlogError = log4net.LogManager.GetLogger(「のlogErrorは」); //ここでのlogErrorとlog4net.config名前では同じである必要があります
        公共の静的な無効WRITELOG(文字列情報)
        {
            もし(loginfo.IsInfoEnabled)
            {
                loginfo.Info(情報)。
            }
        }

        公共の静的な無効WRITELOG(文字列情報、例外の例)
        {
            もし(logerror.IsErrorEnabled)
            {
                logerror.Error(情報、EX);
            }
        }
    }
コードをコピー

図2に示すように、コード記録におけるエラー

コードをコピー
保護された、ボイドをPage_Load(オブジェクト送信者、EventArgsの電子)
        {
            試します
            {
                列A = "FF"。
                INT B = Convert.ToInt32(A)。
            }
            キャッチ(例外例){
                LogHelper.WriteLog(ex.Message.ToString()、EX)。
            }
        }
コードをコピー

ウェブがどのように、あなたは、Global.asaxのページを作成することができ、

ウェブでセレクトグローバルアプリケーションクラス→新しい項目→プロジェクト→[追加]を右クリックします。

global.asax.csファイルでは、エラー・ログに書き込まのApplication_Error方法、追加のコードを探します。

例外の元= Server.GetLastError()GetBaseException();. //異常なソースを取得します。 

次に、上記の記録方法を使用することができます

あなたは、プロジェクトのフレームワーククライアントプロファイルのバージョンを使用している場合は利用できlog4netのではない、ターゲットフレームを修正するためのプロジェクト→→XXX属性のフルバージョンの変更に対応するの枠組みを設定しました。

出力フォーマット

おすすめ

転載: www.cnblogs.com/yuyangbk/p/12206508.html