Как заставить log4net генерировать файлы журнала при работе от имени пользователя без прав администратора? - PullRequest
2 голосов
/ 06 октября 2009

Процесс, работающий как пользователь без прав администратора, не имеет прав на запись в папку с файлами программы. Каков наилучший способ настроить log4net для записи в местоположение, на которое у пользователя, не являющегося администратором, есть права?

В идеале было бы:

  • Один файл конфигурации или конфигурация из кода будет работать для всех версий MS Windows, поддерживаемых .NET.
  • Поддержка служб MS Windows
  • Поддержка log4net версии 1.2.0.30714 (мы должны использовать эту версию)

Похожие вопросы:

1 Ответ

3 голосов
/ 06 октября 2009

Почему вы не можете просто настроить log4net для записи в файл в папке, к которой у вас есть надлежащие права доступа? Вы делаете это с FileAppender:

<appender name="FileAppender" type="log4net.Appender.FileAppender">
    <file value="c:/path/log-file.txt" />
    <appendToFile value="true" />
    <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
    </layout>
</appender>

Выше взято из здесь . С той же страницы:

<appender name="FileAppender" type="log4net.Appender.FileAppender">
    <file value="${TMP}\log-file.txt" />
    <appendToFile value="true" />
    <encoding value="unicodeFFFE" />
    <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
    </layout>
</appender>

Вы можете использовать переменную окружения, чтобы задать путь к файлу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...