On Tue, Sep 10, 2013 at 11:21 AM, Erik Steffl <[email protected]> wrote:
> 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<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)
>
that's right. It will be part of 7.5.3, which I am right now working on.
Looks like the doc is still missing, so I probably need to do at least some
basic doc before I can publish. I still hope to be able to release 7.5.3
soon (at least this week).
Rainer
>
> 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://lists.adiscon.net/mailman/listinfo/rsyslog>
> http://www.rsyslog.com/**professional-services/<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.
>
_______________________________________________
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.