2013-07-18 3 views
2

log4net RollingFileAppender이 파일을 닫은 후에는 어떻게 압축하여 zip (및 암호를 제공 할 수 있습니까?Log4net 출력 파일 압축

사용자 지정 appender이 필요한 경우 어떤 가상 메서드로 처리 할 수 ​​있습니까? .NET에서 우편 기능은 암호을 압축을 지원하지 않기 때문에

+0

네,하지만 log4net 그것을 종료 후에 만 ​​:

그런 다음이 사용 DotNetZip 같은 것을 사용하여 파일을 압축 할 수 있어야한다. – ishayle

답변

0

, 당신이 대답을 살펴보십시오 DotNetZip

같은 것을 사용할 수 있습니다 https://stackoverflow.com/a/1643348/958701

예제를 업데이트

다음과 같이 로그 파일 경로를 가져올 수 있습니다.

appenderFilePath = ((Hierarchy)LogManager.GetRepository()).Root.Appenders.OfType<RollingFileAppender>().FirstOrDefault(); 

이것은 컬렉션의 첫 번째 appender 만 반환합니다. 따라서 하나 이상의 애펜더가있는 경우 FirstOrDefault()을 제거하면 모든 애펜더가 생성됩니다.

using (var zip = new ZipFile()) 
{ 
    zip.Password = "VerySecret!!"; 
    zip.AddFile(appenderFilePath); 
    zip.Save("logs.zip"); 
} 
+0

감사합니다,하지만 어떻게 log4net과 통합 될 수 있습니까? – ishayle

+0

내 업데이트보기 :) –