간단한 응용 프로그램 파이썬, 오류 로그 파일 내용 오라클 차단한다.
의 개념 : 분석 로그 결과 후에는 소인 웨지 같이, 2 개 개의 시간 스탬프들 사이의 블록으로 콘텐츠, 메모리 블록 에러 Ruoguo 함량은 인쇄 개의 타임 스탬프 사이의 콘텐츠를 차단한다.
1 임포트 다시 2 3 데프 get_time (주 tmp_file) : 4 시간 = [] 5 에 대한 행 에 tmp_file : 6 tmp_line = line.split () 7 개 렌즈 = LEN (tmp_line) 8 # 인쇄 (렌즈) (9) 의 경우 렌즈> 3 : 10 의 경우 (tmp_line [0] 에서의 주 [:]) 및 (INT (tmp_line [2]) 의 범위 (1,32 )) : 11 time.append (line.strip ()) 12 리턴시간 13 14 DEF get_logs (시간 filetxt) : 15 I = 0 (16) N = 1 + 1 (17) 동안 I 렌 <(시간) -1 : 18 동안 시간 [I] == 시간 [N] : 19 N + 1 = 20 의 경우 N == LEN (시간) -1 : 21 나누기 22 패턴 = re.compile (시간 [내가] + ' .? (*) ' + [N] 시간 re.S) 23 결과 = re.findall ( 패턴 filetxt) 24 seltxt = 결과 [0] (25) 만약 " ORA- " 에 seltxt 또는 " 오류] " 에 seltxt 또는 " 오류 " 에 seltxt 또는 " TNS- " 에 seltxt : 26 인 인쇄 ( " \ N- \ === >> N-지정된 개시 시간 : ' 시간 [I] ) 27 인쇄 ( '' .join (결과)) 28 # 인쇄 (유형 (결과)) 29 인쇄 ( ' << === 종료 시작 시간을 제공 : ' , 시간 [N]) (30) I = N 31 32 DEF 주 () : 33 로그 = R ' D : \ WorkHome 파이썬 \ 오라클 \ alert_irmsdb.log \ ' 34 주 = ' 월 ' , ' 화 " , " 수요일 " , " 목요일 " , " 금요일 " , " 토요일 ' , ' 일 ' ] (35) 파일 = 개방 (로그) 36 filelines = 용의 file.readlines () 37 tmp_file = filelines [-200 :] 38 시간 = get_time (주 tmp_file) 39 filetxt = "" .join (tmp_file) .strip () 40 get_logs (시간 filetxt) (41) (42) 의 경우 __name__ == ' __main__ ' : 43 주 ()