2015-11-24 3 views
0

У меня есть приложение для форм Windows, которое работает в двух режимах рабочего стола и в режиме веб-плагина. Я пытаюсь поместить файлы журнала, используя log4net, в том же месте. но когда он работает как веб-плагин, мой файл журнала попадает во временную папку в папке с папками пользователей.log4net web plugin location log log

Код:

Uri uri = new Uri(Assembly.GetExecutingAssembly().CodeBase); 

if (Uri.TryCreate(uri, "log4net.config", out uri)) 
{ 
    log4net.Config.XmlConfigurator.Configure(new FileInfo(uri.LocalPath)); 
} 

_configured = true; 

if (Utilities.WebPlugin) 
{ 
    var logNetHierarchy = (log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository(); 
    foreach (var iAppender in logNetHierarchy.Root.Appenders) 
    { 
     if (iAppender is FileAppender) 
     { 
      var fileAppender = (FileAppender)iAppender; 

      fileAppender.File = @"C:\Users\" + Environment.UserName + @"\Company\Viewer\Web\log.xml"; 

      fileAppender.ActivateOptions(); 
     } 
    } 
} 

Я хотел бы получить их в том же месте, не включая какой-то сценарий.

+0

Ваш код выглядит так, как будто он должен работать - есть ли у веб-плагина достаточные права на запись в c: \ users? – stuartd

+0

Правильно создает папку в рабочем режиме. Как проверить разрешения в режиме веб-плагина? – user2117229

+0

Что такое ** - режим веб-плагина? – stuartd

ответ

0

stuartd был прав в ближайшее время, когда я положил сайт в надежные сайты, он работал отлично.