2009/04/06

C#, .log .txt 등 로그파일 정리

응용프로그램이나 운영체제 자체에서 생성되는 로그파일이 시간단위 또는 일단위로 계속해서 생성되는 경우에는 로그파일 관리가 필요합니다.

Apache 는 loglotate 가 있어서 자동 삭제등이 가능하지만, IIS 는 그런게 없어서 로그 파일 관리를 위한 별도의 프로그램이나 스크립트를 돌려야 합니다. 그와 같은 상황에서 활용할수 있을 것 입니다.

다음 코드는,. C# 기준의 로그파일을 관리할수 있는 간단한 명령행 프로그램을 만들는 코드 입니다. 코드에서는 인자값으로 [ 지정폴더, 초과일자, 확장자, 폴더모드] 등을 지정해 줄수 있습니다.

Log File Cleanup App for Windows
http://www.codeproject.com/KB/cs/WinFileCleanup.aspx

위 코드의 단점은,. 인자값에 입력한 정확한 확장자 비교가 되지 않습니다. 이를테면,. *.htm 이면 *.html 도 같이 경로가 반환 됩니다. 그래서,. 2번째 날짜 비교하는 부분에서 확장자를 한번더 체크해줘야 할 수도 있습니다. 실제 확장자 비교가 아니라 문자열 패턴 체크 이기 때문 입니다.

위 코드에서,. 좀더 수정을 해 본다면 응용프로그램 설정파일에 정리해야 할 폴더 리스트 그리고, 소스코드에서 지정된 확장자가 아닌 사용자 입력 확장자로 제한이 없도록 하면 좀더 다양하게 활용을 할수가 있을것 같습니다.

Directory 및 File 클래스가 좀더 가볍기는 하지만,. 다양한 제어를 추가하고자 한다면 폴더 및 파일 에 대한 다양한 정보를 반환해 주는 DirectoryInfo 및 FileInfo 클래스를 사용해 보는 것도 좋을것 같습니다.
^^

댓글 없음:

댓글 쓰기

가장 많이 본 글