2013-05-08 6 views
1

Я пытаюсь использовать протокол поиска Micorosoft Log Parser для чтения нескольких наборов файлов журнала IIS. Теперь, мой запрос работает отлично, однако, чтобы заставить его работать правильно, мне нужно, чтобы каталог указывал, что файлы существуют напрямую.Log Parser recusive file read

Я хочу, чтобы иметь возможность делать рекурсивный поиск в каталоге высокого уровня. Я нашел, как это сделать через DLL, но я не могу найти, как с помощью командной строки.

Должно быть простое решение, и я просто пропустил его.

ответ

2

Включите опцию -recurse:-1 в командной строке. Проверьте доступные параметры командной строки для входного формата с: C:\>logparser -h -i:IIS

Пример вывода:

Input format: IIS (Microsoft IIS Log Format) 
Parses Microsoft IIS log files 

FROM syntax: 

<filename> | <SiteID> [, <filename> | <SiteID> ... ] 
<SiteID> = '<' SiteID '>' 
SiteID can be a SiteID number, a fully qualified ADSI Path (e.g. 
"//GABRIEGI1/W3SVC/1"), or a Site name (e.g. "My External Site"), eventually 
containing wildcards 

Parameters: 

-locale   <locale name>  : 3-letter ID of the log file locale 
             [default value=DEF] 
-returnExtraFields ON|OFF   : Return additional fields in 
             Parameters field [default value=OFF] 
-iCodepage   <codepage ID>  : Input codepage (-2=guess from 
             filename and/or LogInUTF8 property) 
             [default value=guess from filename 
             and/or LogInUTF8 property] 
-recurse   <level>   : Max subdirectory recursion level 
             (0=no recurse, -1=all levels) 
             [default value=0] 
-minDateMod  <date>   : Minimum file last modified date 
             [default value=not specified] 
-iCheckpoint  <checkpoint file> : Save checkpoint information to this 
             file [default value=no checkpoint] 

Fields: 

    LogFilename (S) LogRow (I)   UserIP (S)   UserName (S) 
    Date (T)  Time (T)   ServiceInstance (S) HostName (S) 
    ServerIP (S) TimeTaken (I)  BytesSent (I)  BytesReceived (I) 
    StatusCode (I) Win32StatusCode (I) RequestType (S)  Target (S) 
    Parameters (S) 
+1

Спасибо, я продолжал перебегать через это, но всегда говорил бы его недопустимый флаг. Доступные флаги зависят от того, для чего установлен тип ввода файла. – Limey

+0

Точно - какой формат ввода вы выбираете? Если вы не указали какой-либо формат ввода, Log Parser будет отображать один для вас на основе вашего файла, и вы можете указать, какой из них он выбрал, посмотрев на вывод WARNING с первой строкой. Знание того, какой формат ввода вы используете, очень важно для определения того, доступен ли вариант рекурсии или нет. –

1

я не смог запустить -recurse, если формат импорта был установлен в W3C. (-i: W3C)

Для этого я просто добавил добавленное следующее в Powershell при указании пути к файлу/папке. E.G $ httpLogPath = "Get-ChildItem Y: \ Data \ folder * -include * .log -recurse"