Thanks for you reply. I added ms and that is empty as well
template(name="ms" type="string" string="%timereported:1:3:date-subseconds%") template(name="new_unix" type="string" string="%timereported:::date-unixtimestamp%%$.ms%") set $.ms = exec_template("ms"); if ($.ms == "0") then { set $.ms = "000"; } set $.new_unix = exec_template("new_unix"); template(name="blobstorage" type="list" option.jsonf="on") { property(outname="timestamp" name="timereported" dateFormat="rfc3339" format="jsonf") property(outname="unixtime" name="timereported" dateFormat="unixtimestamp" format="jsonf") property(outname="ms" name="$.ms" format="jsonf") property(outname="new_unix" name="$.new_unix" format="jsonf") property(outname="host" name="fromhost-ip" format="jsonf") property(outname="message" name="rawmsg-after-pri" format="jsonf") property(outname="log_id" name="uuid" format="jsonf") } Output: {"timestamp":"2022-05-12T08:13:32.250744+00:00", "unixtime":"1652343212", "ms":"", "new_unix":"", "host":"", "message":"{\"log\":<redacted>", "log_id":"D3E23BB3CAFE4F68BE2AE4804214228D"} host is also empty, fun part if I move "host" above "ms" then I got values for host. Any clue how to troubleshoot this? Best regards Johan Ryberg On Thu, 12 May 2022 at 09:37, Rainer Gerhards <rgerha...@hq.adiscon.com> wrote: > I would suggest to output $.ms as well. Also, simplify the new_unix > timeplate to just contain the default timestamp, see if it works and > than go from there with more complex processing. > > all in all, it doesn't look wrong - probably a detail. > > HTH > Rainer > > El jue, 12 may 2022 a las 9:28, Johan Ryberg via rsyslog > (<rsyslog@lists.adiscon.com>) escribió: > > > > Hi, > > > > Running latest version of rsyslog (8.2204.1) > > > > I'm trying to create a template that ensures unixtimestamp with > > milliseconds. > > > > This is as far as I got > > > > template(name="ms" type="string" > > string="%timereported:1:3:date-subseconds%") > > set $!ms = exec_template("ms"); > > if ($.ms == "0") then { > > set $.ms = "000"; > > } > > template(name="new_unix" type="string" > > string="%timereported:::date-unixtimestamp%%$.ms%") > > set $!new_unix = exec_template("new_unix"); > > > > template(name="storage" type="list" option.jsonf="on") { > > property(outname="timestamp" name="timereported" > dateFormat="rfc3339" > > format="jsonf") > > property(outname="unixtime" name="$!new_unix" format="jsonf") > > property(outname="host" name="fromhost-ip" format="jsonf") > > property(outname="message" name="rawmsg-after-pri" format="jsonf") > > property(outname="log_id" name="uuid" format="jsonf") > > } > > > > Sadly the output of unixtime is always empty, "unixtime": "" > > > > I would very much appreciate some guidance how to make it work and if > > possible, more efficient > > > > Best regards Johan Ryberg > > _______________________________________________ > > rsyslog mailing list > > https://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. > _______________________________________________ rsyslog mailing list https://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.