Windows 작업 스케줄러를 사용하여 자동으로 실행되도록 예약 된 C# 콘솔 응용 프로그램에서 작업하고 있습니다. 해당 응용 프로그램에서 타임 스탬프가있는 단계별로 실행되는 정보를 기록하고 싶습니다.타사 로거를 사용하지 않고 C# 응용 프로그램에 로그인
또한 로그 파일 크기가 10MB를 초과하지 않도록하고 새 파일이 생성 될 때마다 새 파일로 분리해야합니다. 5 개 이상의 파일이있는 경우 5 개 이상의 로그 파일이 있어야하며 가장 오래된 파일이 자동으로 삭제되어야합니다.
내가 이러한 경우 Log4net 등 모든 제 3 자 로거를 사용하도록 허용하고 있지 않다 내가 어떤 붙박이 마이크로 소프트의 기능이나 클래스를 사용하여이 문제에 대한 해결책을해야합니까. 나는 커스텀 코드를 기꺼이 사용한다.
FileInfo fi = new FileInfo(logFilename);
var size = fi.Length;
크기가있다 : 나는, 어떤 포인터가
'파일을 삭제하고 분할하는 것이 조금 문제가됩니까?'라는 것은 무엇을 의미합니까? 파일이 5GB에 도달하면 아카이브 이름으로 이름을 바꾼 다음 새 기본 로그 파일을 작성해야한다고 생각하지 않습니다. 동시에 5 개 이상의 파일이 있는지 확인하고, 그렇다면 가장 오래된 파일을 삭제하십시오. 이 모든 것은 File/Directory 클래스에 내장되어 있습니다. –
* 제 3 자 로거를 Log4net 등으로 사용할 수 없습니다. * ** 왜? ** 숙제? –
@Simon Clough 정확히, 모든 로그 단계에서 크기와 파일 수를 확인해야합니다. – Akshay