I'm trying to understand the underlying logic of the Fields parameters within
xm_csv, as I have a situation where the number of parameters may not be
definitely known.
After getting some errors (discussed below), I ended up codifying an xm_csv
definition like this one:
Fields $p1, $p2, $p3, $p4, $p5, $p6, $p7, $p8, $p9, $p10,
$p11, \
$p12, $p13, $p14, $p15, $p16, $p17, $p18, $p19,
$p20, $p21, $p22, $p23
However, when I first started I had coded the fields like this, with some
padded (extra) fields, because it seemed to fail if there weren't enough fields
available:
Fields $p1, $p2, $p3, $p4, $p5, $p6, $p7, $p8, $p9, $p10,
$p11, \
$p12, $p13, $p14, $p15, $p16, $p17, $p18, $p19,
$p20, $p21, $p22, $p23, \
$a1, $a2, $a3, $a4, $a5, $a6, $a7, $a8, $a9,
$a10
However, the definition above (with 33 available fields) failed, with an error
that (edited) says:
"Not enough fields in CSV input, expected 33, got 22 in input".
So here's what I'm not understanding, why does parse_csv allow 23 Fields to be
specified, with only 22 input values, but then fails when there are 24 (or 33)
Fields defined? I'm trying to deal with IIS input where there may be a default
configuration (with 14 params), or the full set of 22 params. But if I define
22 (or 23), and only get 14, then it appears that the whole thing will fail.
And, because it's part of an if-else expression, it basically "jumps out" of
that entire expression, and then none of the parsed information gets properly
built in the $raw_event field (because those activities are nested in my "else"
leg).
I can see why it might generate an error if it doesn't have enough fields, but
I don't understand why an "excess of one Field" is OK, but any further excess
Fields causes a complete failure? I just figure that I must be missing
something. Possibly some "ignore mismatch" directive, that would prevent the
failure situation? Any guidance would be appreciated.
(And, I guess I would have even expected "too few" parameters to not result in
a complete failure. I would have simply expected that it would have "stop
parsing data", because if you got an occasional "garbage line", with two much
data, which might be the case with some applications, this failure scenario
would also cause a complex if-else structure to fail completely, most likely
resulting in the loss of a lot of formatting activity.)
Sorry for my confusion! Thanks for your help.
Marvin Nipper
The information transmitted, including any content in this communication is
confidential, is intended only for the use of the intended recipient and is the
property of The Western Union Company or its affiliates and subsidiaries. If
you are not the intended recipient, you are hereby notified that any use of the
information contained in or transmitted with the communication or
dissemination, distribution, or copying of this communication is strictly
prohibited. If you have received this communication in error, please notify the
Western Union sender immediately by replying to this message and delete the
original message
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:
Build for Windows Store.
http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
nxlog-ce-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/nxlog-ce-users