On 09/09/2013 10:06 PM, David Lang wrote:
On Mon, 9 Sep 2013, Erik Steffl wrote:

On 09/09/2013 08:00 PM, David Lang wrote:
On Mon, 9 Sep 2013, Erik Steffl wrote:

On 09/09/2013 07:22 PM, David Lang wrote:
On Mon, 9 Sep 2013, Erik Steffl wrote:

Using a property in template (after action(type="mmjsonparse")
succeeds):

property(name="$!key!anotherKey")

Is there a way to specify default value (just a string constant,
nothing dynamic) that should be used in case incoming messages do not
have $key!anotherKey element?

not directly, but you can do:

if isempty($!key!anotherKey) then $!key!anotherKey=default

 that changes the parsed json structure though which I was hoping to
avoid,

huh? how does it change it any more than setting a default value for
$!key!anotherKey would?

 I do not want to set $!key!anotherKey to the default value, I want to
use a default value in template if there is no value in incoming
message for $!key!anotherKey

template(name="dynamicFilename" type="list") {
 constant(value="/var/log/")
 property(name="$!key")
}

I would like to achieve:

 - if there is no "key" in icoming message, e.g. @cee:{"a":"b"}
filename would be: /var/log/no-such-key

 - if there is "key" in incoming message, e.g. @cee:{"key":"got-a-key"}
filename would be: /var/log/got-a-key

 I would like to achieve the above, preferably without changing the
parsed incoming message. In other words I would like to use the
property $!key if it exists, otherwise use a default value.

Ok, one new feature that was recently added was a separate namespace
that you can use that won't show up in $!

this is the $, namespace

so you can do

if isempty($!key) then
   set $.filename="/var/log/no-such-key";
else
   set $.filename="/var/log/%$!key%";

then you can use $.filename in your template.

yeah, that would be pretty good, I remember email from Rainer mentioning http://git.adiscon.com/?p=rsyslog.git;a=shortlog;h=refs/heads/master-localvars but it seems like it's not in published packages yet (causes syntax error in 7.5.2-0adiscon1, also cannot find it in changelog)

I tried to build it from git but it's fairly hard to get all the dependencies right, since the Ubuntu packages are published are there scripts to build Ubuntu packages available somewhere? Looked in git but didn't find anything. I managed to build it (i.e. I had working rsyslogd) but would like it more automated and build the packages too.

  thanks!

        erik
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.

Reply via email to