TL;DR: How to ignore columns while parsing CSV?
I'm trying to watch a file whose each line is Pipe Separated Values. It
looks like this:
RD000D3AC015BF|2015/10/19 15:01:58|Server binding to 0.0.0.0:10001
RD000D3AC015BF|2015/10/16 12:44:22|10008|IP084|ERR|shutdown|shutdown|IP /
127.0.0.1|PRT 52105
RD000D3AC015BF|2015/10/16 12:44:22|10008|IP085|ERR|shutdown|shutdown|IP /
127.0.0.1|PRT 52107|TRANSPARENT||OK|||
As you can see, number of variables varies. I tried to use parse_csv() from
xm_csv like:
<Extension lsscsv>
Module xm_csv
Fields $Hostname, $EventTime, $Else
Delimiter '|'
</Extension>
<Input lsslogs>
Module im_file
File "D:\\Logs\\Input.log"
SavePos TRUE
Exec lsscsv->parse_csv();
Exec \
$parseddate = parsedate($EventTime) ; \
$Message = $raw_event;
</Input>
But it fails with:
2015-10-19 19:52:41 ERROR procedure 'parse_csv' failed at line 63,
character 25 in D:\Program Files (x86)\nxlog\conf\nxlog.conf. statement
execution has been aborted; Too many fields in CSV input, expected 2, got 3
in input 'RD000D3AC015BF|2015/10/16
12:44:22|10008|IP085|ERR|shutdown|shutdown|IP /127.0.0.1|PRT
52107|TRANSPARENT||OK|||'
Do I need to use script for that?
------------------------------------------------------------------------------
_______________________________________________
nxlog-ce-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/nxlog-ce-users