2013-08-21 1 views
0

Internet Explorer 9.0에 대한 추가 기능 (클래스 라이브러리 (.dll))을 만들고 있습니다. 로깅을 위해 log4net dll을 사용하려고합니다.log4net은 .net 4.0을 사용하여 생성 된 클래스 라이브러리를 기록하지 않습니다.

나는 다음과 같은

  • .NET 4.0
  • 비주얼 스튜디오 2010을 사용하고
  • log4net 버전 - 내가 응용 프로그램을 만들었습니다

(닷넷 4.0) 1.2.11.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에 다음 코드 라인의 DocumentComplete 이벤트 핸들러에

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

추가 된 다음 코드 줄을 파일. Internet Explorer 페이지로드시 발생합니다.

log4net.Config.XmlConfigurator.Configure(); 

내 추가 기능이 활성화되어 실행 중일 때. 지정한 경로 "D : \ Temp \ Temp.log"에 로그가 생성되는 것을 볼 수 없습니다. 나는 약간 혼란 스럽다.

도움이 될 것입니다.

감사

답변

1

덕분에 많은 문제가 인터넷 익스플로러는 보호 모드에서 실행하는 모든 응답

을 위해. 보호 모드에서 실행되는 Internet Explorer는 추가 기능의 쓰기 파일을 디스크로 제한합니다.

내 설정을 한 번 더 변화가 assembly.cs 파일에 다음 줄 내가 app.config에 내 코드를 추가하고 확인 <매개 변수 이름 = "파일"값

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

나는 당신의 다음 exe를 자사의 app.config 당신의 코드를 추가해야하는 응용 프로그램을 실행하는 것 같아요. 웹 응용 프로그램을 사용하는 경우 config를 web.config 파일에 추가합니다. 나는 또한 확인에 이중 슬래시를 변경할 것입니다 : 당신이 웹 어플리케이션으로 실행하는 경우

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

, 당신은 D에 응용 프로그램 풀 사용자의 액세스 권한을 확인해야합니다 : \ 임시 \ 경로 (전체 액세스) . 당신이 당신의 assambly의 속성을 사용하는 경우

, 당신은 호출 할 필요는 없습니다 :

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

파일을 추가하는 것입니다 = "D : \ Temp \ Temp.log "/> (이중 슬래시 및 단일 슬래시 포함). 두 경우 모두 작동하지 않습니다. assemblyinfo.cs 파일에이 [assembly : log4net.Config.XmlConfigurator (Watch = true)]를 추가했습니다. – kvbrahmam

+0

보호 모드에서 실행중인 인터넷 탐색기 때문입니다. 그래서 제 addon은 디스크에 아무것도 쓸 수 없었습니다. 이 방법을 우회 할 수 있습니까? 미리 감사드립니다. – kvbrahmam

관련 문제