Файл журнала, не созданный?

Я использую log4net и имею, полностью устанавливают его с именем параметрического усилителя = значение "Файла" = "C:\Application.log". Все же файл не создается в C:. Я запускаю Windows 7, и возможно что-то как полномочия препятствует тому, чтобы файл был создан.

Вот app.config:

<?xml version="1.0" encoding="utf-8" ?>  
<configuration>  
  <configSections>  
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net" />  
  </configSections>`  

  <log4net>  
    <root>  
      <level value="DEBUG" />  
      <appender-ref ref="LogFileAppender" />  
    </root>  
    <appender name="LogFileAppender“ type=“log4net.Appender.RollingFileAppender" >  
      <param name="File" value="C:\Users\Mohit\Documents\Application.log" />  
      <param name="AppendToFile" value="true" />  
      <rollingStyle value="Size" />  
      <maxSizeRollBackups value="10" />  
      <maximumFileSize value="10MB" />  
      <staticLogFileName value="true" />  
      <layout type="log4net.Layout.PatternLayout">  
        <param name="ConversionPattern“ value=“%-5p%d{yyyy-MM-dd hh:mm:ss} – %m%n" />  
      </layout>  
    </appender>  
  </log4net>  
</configuration>
5
задан Philipp M 22 October 2013 в 09:31
поделиться

2 ответа

Вы должны указать настоящее имя файла. То, что вы определили в своем конфигурационном файле, это имя папки. Вместо:

<param name="File" value="C:\Users\Mohit\Documents" />

используйте что-то вроде:

<param name="File" value="C:\Users\Mohit\Documents\log.txt" />

Также, вам, вероятно, понадобятся повышенные разрешения для вашего приложения, чтобы записывать журнал в корневую папку c:. UAC не позволит вам записывать журнал в корневую папку.

Как сказал Энди, вам лучше выбрать какую-нибудь подпапку в папке Windows Users, например:

c:\Users\Mohit\AppData\Local\<MyApplication>

log4net имеет некоторые предопределенные переменные, которые вы можете использовать для специальных папок. Об этом есть несколько вопросов на SO:

Как указать общую папку данных приложения для log4net?

C# как указать путь к файлу appData в файле app.config

7
ответ дан 14 December 2019 в 01:09
поделиться

Да, убедитесь, что пользователь, выполняющий приложение, имеет права на c:.

А еще лучше, что вы, вероятно, не хотите записывать журнал приложения в корневую директорию c:\. Скорее всего, лучше выбрать место, где установлено ваше приложение, или где-нибудь в разделе Документы и настройки (или эквивалент Windows 7).

1
ответ дан 14 December 2019 в 01:09
поделиться
Другие вопросы по тегам:

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