• 목록
  • 아래로
  • 위로

과도하게 길어진 로그파일을 최근에 추가된 100줄로 줄이는 스크립트입니다.


로그가 추가될 때마다 가장 마지막줄에 추가된다는 점에 착안하여 작성했기 때문에, 그러한 원리로 작동하지 않는 파일의 경우에 적용하면 최신 로그가 사라지게 됩니다.


import os

BASE_DIR = os.path.dirname(os.path.abspath(__file__))
with open(os.path.join(BASE_DIR, '로그파일'), 'r') as f_read:
    file_list = f_read.readlines()
    total = len(file_list)
    with open(os.path.join(BASE_DIR, '로그파일'), 'w') as f_write:
        for idx, line in enumerate(file_list, 1):
            if idx > total - 100:
                f_write.write(line)


with open r 문 안에 with open w 문을 사용하면 보다 효율적이라는 웹문서가 있어서 그렇게 구현해봤네요 ^^

(알고리즘적으로 정확한 이유는 저도 잘 모르겠습니다.)



참고로 로그파일의 길이(총 라인 수)는 다음과 같은 방법을 통해 얻을 수 있습니다.


num_lines = sum(1 for line in open('로그파일'))


작성자
이니스프리 119 Lv. (0%) 1875900/115200000EXP

당분간 일신상의 사정으로 쪽지나 댓글로 답변을 드리기 어렵습니다. 죄송합니다.

 

CSVpuymXAAAVVpd.jpg

댓글 0

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [작업 완료] 설 명절 맞이 서버 업데이트 안내 3 마스터 마스터 24.02.11.17:21 370
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 마스터 23.01.14.02:23 4058
340 [파이썬] 딕셔너리의 키/값으로 정렬하기 이니스프리 이니스프리 20.02.02.23:25 195
339 [IPVanish] 809 에러 해결방법 이니스프리 이니스프리 20.02.02.17:10 222
338 Matrix DAC 발열 문제 이니스프리 이니스프리 20.01.31.12:34 174
337 JLPT 성적표 및 합격증 수령 주소 변경 이니스프리 이니스프리 20.01.29.21:51 163
336 Apple ID 미국 계정 만들기 및 로그인 실패시 해결방법(?) 이니스프리 이니스프리 20.01.26.20:14 254
335 더현대닷컴 vs Hmall의 차이 이니스프리 이니스프리 20.01.26.20:10 1063
334 다이소 스마트폰 유심 커터기 관련 4 이니스프리 이니스프리 20.01.22.17:15 623
333 텔레그램 비밀대화의 스크린캡쳐 방지기능 이니스프리 이니스프리 20.01.20.23:44 5847
332 Postman에서 Temporary Header는 비활성화할 수 없습니다. 3 image Seia Seia 20.01.20.19:31 226
331 순수 React만으로 다이내믹 태그 네이밍하기 Seia Seia 20.01.20.19:18 104
330 Sourcerer: Git을 비주얼라이징 및 프로파일링합니다. image Seia Seia 20.01.20.07:38 131
329 [우체국 택배] 수취인 수령장소 변경 서비스 이니스프리 이니스프리 20.01.19.23:08 260
328 TCP BBR을 사용하여 기존 TCP 구현보다도 훨씬 빠른 속도를 즐기는 방법 2 image Seia Seia 20.01.19.07:01 154
327 Vultr.com - 오늘자 Service Alert 이니스프리 이니스프리 20.01.17.22:02 170
326 중국 배대지 휴무 이니스프리 이니스프리 20.01.14.13:01 112
325 [파이썬] random.randint()에서 주의할 점 이니스프리 이니스프리 20.01.13.00:49 219
324 엠팍에서 첨부 이미지 크롤링을 할 때 400대 에러가 뜨는 경우 이니스프리 이니스프리 20.01.12.23:38 192
323 DHTML 에디터에서 Hard Break vs Soft Break 이니스프리 이니스프리 20.01.12.13:48 120
322 [국립국어원] 세팅 vs 셋팅 이니스프리 이니스프리 20.01.11.16:56 1386
321 IPVanish의 한국서버가 4개로 확충되었습니다. image 이니스프리 이니스프리 20.01.11.11:27 116