2014-05-11 9 views
2

내가 2 proyects와 비주얼 스튜디오 솔루션을 Log4Net Log4Net 참조가 없습니다. 로깅 프로젝트는 Log4Net dll에 대한 참조를 가지고 있으며 로깅을위한 모든 메소드가있는 관리자 클래스가 있습니다.의 Web.config 구성

지금, 내가 웹 응용 프로그램의 Web.config 파일에해야 할 일을 알고 싶어, 나는 섹션 추가 할 필요가 인터넷에서 본 :

<section name="log4net" 
     type="log4net.Config.Log4NetConfigurationSectionHandler, 
      log4net"/> 

을하지만 내 관심사는 점이다 내 웹 프로젝트에는 Log4Net dll 참조가 없습니다. 내 웹 프로젝트에 Log4Net DLL을 추가하지 않고도 그렇게 할 수 있습니까?

+0

시도해 보셨습니까? 소스 컨트롤 (당연히 있어야 함)을 사용하는 경우 실험이 잘못되면 되돌릴 수 있습니다. – J0e3gan

+0

또는 간단한 스크래치 솔루션으로 질문에 답변 할 수 있습니다. 나는 경험으로, 네, 웹 응용 프로그램 프로젝트에서'log4net.dll'에 대한 참조를 추가하지 않고 원하는 것을 할 수 있음을 알고있었습니다. 하지만 스크래치 솔루션으로 신속하게 확인하고 그 결과를 게시했습니다. – J0e3gan

답변

1

예, 웹 응용 프로그램 프로젝트에서 log4net.dll을 참조하지 않고 log4net에 section 요소를 추가 할 수 있습니다.

Visual Studio 2013의 .NET 4.0을 대상으로하는 스크래치 웹 응용 프로그램 프로젝트 (WebApplication1) 및 ​​클래스 라이브러리 (ClassLibrary1)를 사용하여 이것을 두 번 확인했습니다. ClassLibrary1은 log4net.dll을 참조하지만 WebApplication1은 그렇지 않습니다. 방금 ClassLibrary1을 참조하고 log4net section 요소 & 관련 log4net 요소가 Web.config에 있습니다. log4net을 통해 텍스트 파일에 로깅이 아름답게 작동했습니다.

0

log4net을 구성하는 것을 잊어 버린 것 같습니다. 모범 사례는 assably.cs의 구성 속성을 추가하는 것입니다

// Configure log4net using the .config file 
[assembly: log4net.Config.XmlConfigurator(Watch=true)] 
// This will cause log4net to look for a configuration file 
// called TestApp.exe.config in the application base 
// directory (i.e. the directory containing TestApp.exe) 
// The config file will be watched for changes. 

// Configure log4net using the .log4net file 
[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension="log4net",Watch=true)] 
// This will cause log4net to look for a configuration file 
// called TestApp.exe.log4net in the application base 
// directory (i.e. the directory containing TestApp.ex 

당신은 당신의 log4net의 DLL에 속성을 추가 할 수 있습니다, 참조는 웹 프로젝트에서 log4net 할 필요가 없습니다.

+0

반드시 그렇지는 않습니다. 물론 OP는 제가 함께했던 이중 체크에서했던 것처럼 (클래스 라이브러리에서) 그것을 처리 할 필요가있을 것입니다. 실제로는 관련이 없으며 영업 이익이 그다지 이해하지 못한다는 것을 나타내는 것은 없습니다. 하지만 괜찮아. – J0e3gan

+0

실제로 있습니다. log4net으로 시작하는 것은 매우 일반적인 실수입니다. 로깅이 효과가 있었다면, OP는 직접 테스트 할 수 있었고 아무런 질문도하지 않았을 것입니다. – Peter

관련 문제