log4net を使用してログ ファイルを作成しています。結果を .xml ファイルに記録しました。すべてが完璧に機能していますが、問題が 1 つあります。ライブラリ クラスを使用してフォームで参照し、ボタン クリックのフォームでログを呼び出しました。ロガー ファイルで関数を実行し、4 つのパラメーターを渡します。他のすべてのレコードを取得しますが、ログ プロパティを取得できません。次のコードを使用してxmlファイルに書き込みます。
public class MyXmlLayout : XmlLayoutBase
{
protected override void FormatXml(XmlWriter writer, LoggingEvent loggingEvent)
{ writer.WriteStartElement("LogEntry");
writer.WriteStartElement("Level");
writer.WriteString(loggingEvent.Level.DisplayName);
writer.WriteEndElement();
writer.WriteEndElement();
}
これらは関数に渡すパラメーターです。
try
{
int i = 25;
int j = 0;
int foo = i / j;
}
catch (DivideByZeroException ex)
{
Logger.Log("ErrorLog", LoggingLevel.Error, "Attempted to divide by zero.",
new { User = "Fred Bloggs", Environment = "Production" }, ex);
}
「ユーザー」と「環境」にアクセスする方法を教えてください。または他の提案。