2012-03-08 2 views
7

최근 시각적 인터페이스로 Log Parser을 사용하기 시작했습니다. 내가 IIS에서 오는 구문 분석하려면, 그들이 셰어 관련된로그 파서를 사용하여 여러 폴더에서 많은 로그를 구문 분석합니다.

로그. 예를 들어, (I 이유를 모르겠어)와 매일 새로운 로그 파일이 나는 많은 사람들이 등

를 특정 웹 페이지를 방문했다 방법을 알고 싶어요 그리고 IIS가 서로 다른 폴더에있는 로그를 생성하는 것 다른 폴더.

제 질문은 다른 폴더에있는 모든 파일에 접근 할 수 있습니까?

나는 당신이 From-clause을 사용하여 다른 폴더를 넣을 수 있습니다 알고 있지만, 미래에 새로운 폴더가 추가 특히의 경우 너무 어렵다. 목표는 실행될 하나의 스크립트를 작성하는 것입니다.

그래서라는 이름의 폴더 로그에 예를 들어 로그 파일, I 등 폴더의 폴더 1, Folder2 폴더, FOLDER3, folder4을 가지고 각각의 폴더에 등, 3, logN를 기록, LOG2, 파일 로그 1 로그가

내 쿼리는 다음과 같아야합니다 : Select * FROM path/LogFiles/*/*.log하지만 로그 파서가이를 받아 들일 수 없으므로이를 구현하는 방법은 무엇입니까?

답변

17

LOGPARSER를 호출 할 때 당신은 -recurse 옵션을 사용할 수 있습니다. 예를 들어

는 :

logparser file:"query.sql" -i:IISW3C -o:CSV -recurse 

query.sql가 포함되어 여기서

select * 
from .\Logs\*.log 

내 현재 디렉토리

는 여러 하위 디렉토리를 포함 "로그"라는 디렉토리가 각각 포함 로그 파일. 예 :

\Logs\server1\W3SVC1 
\Logs\server1\W3SVC2 
\Logs\server2\W3SVC1 
\Logs\server2\W3SVC2 
etc. 
+1

2014 년 4 월 21 일 확인되었습니다.이 또한 W : \ LogParser \ *에서 작동합니다. log – Jack

5

당신은 로그가 다음 병합 된 로그

에게 쿼리 병합 할 수 있습니다 내가해야 할 것은

LogParser.exe -i:w3c "select * into E:\logs\merged.log from E:\logs\WEB35\*, E:\logs\WEB36\*, E:\logs\WEB37\*" -o:w3c 
0

LogParser의 도움말에는 -recurse 옵션이 표시되지 않으므로 여전히 지원되는지 잘 모르겠습니다. 그러나,이 내가 그것을 해결하기 위해 무슨 짓을 :

의 당신이 LOGPARSER 실행하려면 다음 명령을 사용한다고 가정 해 봅시다 -

logparser "SELECT * INTO test.csv FROM 'D:\samplelog\test.log'" -i:COM -iProgID:Sample.LogParser.Scriptlet -o:CSV 

그리고 단순히에 "같이 Recurse"폴더 구조를 배치 스크립트를 생성하고 구문 분석 그 안에있는 모든 파일들. 이 작업을 수행하는 배치 스크립트는 다음과 같습니다.

echo off 
for /r %%a in (*) do (
    for %%F in ("%%a") do (
     logparser "SELECT * INTO '%%~nxF'.csv FROM '%%a'" -i:COM -iProgID:Sample.LogParser.Scriptlet 
     REM echo %%~nxF 
    ) 
) 

구문 분석해야하는 로그 파일이있는 경로에서 실행하십시오. 추가 작업 (>>) 연산자를 사용하여 하나의 파일에서 모든 구문 분석 된 로그를 추출하도록 사용자 정의 할 수 있습니다.

희망이 도움이됩니다.

1

저는 다음과 같이 powershell을 선호합니다 : Select-String C:\Logs\diag\*.log -pattern "/sites/Very" | ?{$_.Line -match "Important"} 또는 원하는 것을 선택하십시오.

+0

안녕하십니까, StackOverflow에 오신 것을 환영합니다. 답을 형식화하고 더 많은 정보를 추가하십시오. 그렇기 때문에 답은 현재로서는 적합하지 않습니다. 자세한 내용은 http://stackoverflow.com/help/how-to-answer를 참조하십시오. – Chaithanya

관련 문제