Ich möchte Log4net Protokolldateien (mit RollingFileAppender) in einen Unterordner des allgemeinen Anwendungsdatenordners schreiben (z. B. C: \ Dokumente und Einstellungen \ All Users \ Anwendungsdaten \ Company \ Product \ Logs).
jedoch auf Win XP gibt es keine Umgebungsvariable, die diesen Ordner angibt. Wir haben %ALLUSERSPROFILE%
, haben wir %APPDATA%
, aber es gibt nichts, wie %ALLUSERSAPPDATA%
.
Programatically, konnte ich verwenden Environment.SpecialFolder.CommonApplicationData
, aber ich brauche es in der log4net Config zu setzen, so etwas wie diese:Wie häufig Anwendungsdatenordner für log4net angeben?
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="%ALLUSERSAPPDATA%\Company\Product\Logs\error.log" />
</appender>
OK, wir könnten dies in unserem Setup definieren, aber vielleicht kommt jemand mit einer besseren Idee ?
Bitte korrigieren Sie die Frage Titel Rechtschreibung "specifiy" –
Per den Link in @ cutelike Antwort, ab 1.2.11 können Sie einfach einen PatternString-Ausdruck wie [% envFolderPath {CommonApplicationData} '] (http://stackoverflow.com/questions/1535736/log4net-how-can-i-change-the-file-location-programmatical-) verwenden. c/1535998 # 1535998). – Ashe