동일한 메시지를 두 개의 별도 파일로 작성하도록 log4net을 프로그래밍 방식으로 구성합니다.

StackOverflow https://stackoverflow.com/questions/1415535

  •  06-07-2019
  •  | 
  •  

문제

현재 RollingFileAppender 인스턴스를 작성한 다음 BasicConfigUrator.configure ()를 호출하여 프로그래밍 방식으로 Log4Net을 구성하고 있습니다. 이것은 훌륭하게 작동하지만 두 개의 동일한 파일을 만들려고 노력하고 있습니다. 하나는 앱의 모든 실행에 대해 생성되는 타임 스탬프 디렉토리, 다른 하나는 정적 위치에있어 개발자가 가장 최신 로그를 쉽게 꼬리게 할 수 있도록 노력하고 있습니다. (이것은 자동화 된 테스트를 실행하는 데만 사용되므로 거대한 디렉토리 더미를 만드는 것은 문제가되지 않습니다).

이상적으로는 파일이 완전히 동일하기를 원하지만 log4net이이를 가능하지 않을 수도 있습니다. 로거 이름이 다른 경우 괜찮습니다. 하나의 로그 명령문이 두 로그 파일에 쓰기를 할 수있는 한 괜찮습니다.

내 현재 코드 :

IAppender appender = new RollingFileAppender
{
    ...
}

appender.ActivateOptions();

BasicConfigurator.Configure(appender);
도움이 되었습니까?

해결책

프로그래밍 방식으로 완전히 할 수는 있지만 여기서 API를 설명하고 싶지는 않지만 조회하기가 쉽습니다.

지금까지 가장 쉽고 가장 유연한 방법은 구성 파일에서 두 명의 부록을 읽는 것입니다. log4net.config.xmlconfigurator.configure ()를 호출하여이를 강제로 강제 할 수 있으며 모든 코드로 유지하려면 xmlelement를 configure ()로 전달할 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top