2013-08-21 3 views
0

Я создаю добавление (Библиотека классов (DLL)) для Internet Explorer 9.0. И хотите использовать log4net dll для ведения журнала.log4net не регистрируется для библиотеки классов, которая создается с использованием .net 4.0

Я использую следующие

  • .NET 4.0
  • Visual Studio 2010
  • log4net версия - 1.2.11.0 (для .Net 4.0)

Я создал приложение .config и вот конфигурация, которую я использую,

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <configSections> 
     <section name="log4net" 
     type="log4net.Config.Log4NetConfigurationSectionHandler,log4net, 
     Version=1.2.11.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a"/> 
    </configSections> 

    <log4net> 
     <appender name="RollingLogFileAppender" 
     type="log4net.Appender.RollingFileAppender"> 
      <param name="File" value="D:\\Temp\\Temp.log"/> 
      <param name="AppendToFile" value="true"/> 
      <param name="MaxSizeRollBackups" value="30"/> 
      <param name="MaximumFileSize" value="10MB"/> 
      <param name="RollingStyle" value="Date" /> 
      <param name="StaticLogFileName" value="true"/> 
      <param name="DatePattern" value="yyyyMMdd" /> 
      <layout type="log4net.Layout.PatternLayout"> 
       <param name="Header" value="[Header]\r\n"/> 
       <param name="Footer" value="[Footer]\r\n"/> 
       <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - (%F:%L) 
       %m%n"/> 
      </layout> 
     </appender> 
     <root> 
      <level value="ALL"/> 
      <appender-ref ref="RollingLogFileAppender"/> 
     </root> 
    </log4net> 
</configuration> 

Добавлен следующий код строки в файл AssemblyInfo.cs

[assembly: log4net.Config.XmlConfigurator(Watch = true)] 

Добавлено следующую строку кода в обработчик события DocumentComplete. который запускается при загрузке страницы браузера Internet Explorer.

log4net.Config.XmlConfigurator.Configure(); 

, когда мое добавление включено и работает. Я не видел, чтобы какой-либо журнал создавался по указанному пути «D: \ Temp \ Temp.log». Я немного смущен.

Любая помощь будет принята с благодарностью.

Благодаря

ответ

1

Спасибо большое за все ответы

проблема с Internet Explorer работает в защищенном режиме. Internet explorer, работающий в защищенном режиме, ограничивает добавление файлов записи на диск.

Еще одно изменение, которое я сделал в моей конфигурации, чтобы добавить следующую строку в файл Assembly.cs

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "C:\\Program 
Files\\Temp\\app.config", Watch = true)] 
0

Я думаю, ваш запуск приложения, то вы должны добавить свой код в ех его app.config. Если вы используете веб-приложение, добавьте конфигурацию в файл web.config. Я хотел бы также проверить и изменить двойные слешите в:

<param name="File" value="D:\Temp\Temp.log"/> 

Когда вы работаете в качестве WebApplication, вам необходимо проверить права доступа пользователя пула приложений к D: \ Temp \ путь (полный доступ) ,

Если вы используете атрибут в вашем Собрание, вам не нужно звонить:

log4net.Config.XmlConfigurator.Configure(); 
+0

Я добавил свой код App.config и проверил <парам имя = «Файл» значение = "D : \ Temp \ Temp.log "/> (с двойными косыми чертами и одиночными слэшами). В обоих случаях он не работает. Я добавил это [сборка: log4net.Config.XmlConfigurator (Watch = true)] в файле assemblyinfo.cs. – kvbrahmam

+0

. Я узнал, что это связано с тем, что Internet Explorer работает в защищенном режиме. поэтому мой аддон не мог ничего записать на диск. Есть ли способ обойти это. заранее спасибо – kvbrahmam