Ich möchte meine Protokolldatei mit statischen Informationen erweitern, z. B. welches Betriebssystem meine Software ausführt.log4net GlobalContext.Properties nur einmal gesetzt
Gibt es eine Möglichkeit, diese Informationen nur einmal pro Datei einzufügen, die erstellt wurde und nicht für jeden Protokolleintrag?
Dies ist, wie ich es zur Zeit tue (dies führt jedoch die Informationen immer und immer wieder in die Ausgabe - die statische Informationen, da es notwendig ist nicht)
GlobalContext.Properties["**evInfoOsPlatform**"] = string.Format("OS Platform: {0}", Environment.OSVersion.Platform);
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{ABSOLUTE} [%thread] %level
%logger - %message%newlineOperating System Version: %property{
**evInfoOsPlatform**}%newline%exception"/>
</layout>
Mein gewünschten Effekt wäre ein Logfile wie folgt aussehen :
Static information:
OS Version: Windows 8.1.0101934 32-bit
Culture Info: en-US
Domainname: RandomDomain
Username: Emil
Userrights: Admin
Messages:
//now all the messages should be printed...
Dieser Code wird in einer C# .Net 4.5 WPF-Umgebung verwendet.
Ich hoffe, Sie können helfen.