
We use nxlog for this, with the followin configuration snippet:
<Extension w3c>
Module xm_csv
Fields $date, $time, $s_ip, $cs_method, $cs_uri_stem, $cs_uri_query, $s_port, $cs_username, $c_ip, $cs_User_Agent, $cs_Referer, $sc_status, $sc_substatus, $sc_win32_status, $time_taken
FieldTypes string, string, string, string, string, string, integer, string, string, string, string, integer, integer, integer, integer
Delimiter ' '
</Extension>
<Input messagetracking_in>
Module im_file
File '<PATH TO EXCHANGE LOGS>\MessageTracking\MSGTRK*.LOG'
PollInterval 1
Recursive True
SavePos True
ReadFromLast True
Exec $FileName = file_name();
Exec if ($raw_event == '') drop();
Exec if ($raw_event == ';') drop();
Exec $ModuleType = 'file_collection';
</Input>
<Input iis_in>
Module im_file
File '<PATH TO IIS LOGS>\inetpub\W3SVC1\u_ex*'
ReadFromLast True
Recursive True
PollInterval 1
SavePos True
# drop first line, which is CSV header line
Exec if $raw_event =~ /^#/ drop(); \
else \
{ \
w3c->parse_csv(); \
$EventTime = parsedate($date + " " + $time); \
$SourceName = "IIS"; \
$raw_event = to_json(); \
}
</Input>
2 comments