У меня есть проект DLL в моем решении, ответственный за протоколирование событий в других моих проектах. Сейчас я столкнулся с проблемой сохранения файла журнала. Я хотел бы сохранить его в пользовательских данных приложения (c: \ users \\ AppData \ Local \ .....)WPF с log4net - сохранить вход пользователя userappdata
Как я могу получить доступ к этому местоположению в файле log4net.config?
У меня есть это в моих дллах проекте:
static Log()
{
log4net.GlobalContext.Properties["LogFileName"] = @"d:\fileRelease2"; //log file path
#if DEBUG
log4net.GlobalContext.Properties["LogFileName"] = @"d:\fileDebug2"; //log file path
#endif
FileInfo configFileInfo = new FileInfo("log4net.config");
log4net.Config.XmlConfigurator.ConfigureAndWatch(configFileInfo);
log = LogManager.GetLogger(typeof(Log));
}
Спасибо заранее.
С уважением,
=========== EDIT 2 ==========
Я сумел поставить свою log4net.config, как это:
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="DEBUG" />
<levelMax value="OFF" />
</filter>
<param name="AppendToFile" value="true"/>
<file value="${AppData}\AppName\Logs\log" />
<staticLogFileName value="false"/>
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value=" yyyy-MM-dd".txt""/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger: %message%newline"/>
</layout>
</appender>
Проблема, с которой я сейчас сталкиваюсь, заключается в том, что в IDE (VS2013) создается папка. Когда я устанавливаю приложение (используя установщик проекта визуальной студии), папка/файл не создается.
Если я запустить приложение с правами администратора, она создает папку/файл ...
Любые идеи, почему?
Похоже, вам может понадобиться настраиваемое действие в вашем установщике для создания папки, в которой должны храниться файлы журнала? Я не создал установщиков с VS, поэтому не могу помочь вам там, я боюсь. –