I'd like to configure syslog-ng to send logs to redis via a unix socket. This would require implementing the redis protocol as a template or rewrite rule. The only trick is getting the size in bytes of the message being processed. Is there a macro for this or some other way of determining message size? The protocol would look like this (pretending there existed a macro, MSG_SIZE): *3 (number of arguments) $5 (size in bytes of argument 1) RPUSH (operation) $4 (size in bytes of argument 2) logs (key) $${MSG_SIZE} (size in bytes of argument 3) $MSG (value) or as a string: *3\r\n$5\r\nRPUSH\r\n$4\r\nlogs\r\n$${MSG_SIZE}\r\n$MSG\r\n and finally as a destination with template: destination d_redis { unix-stream("/tmp/redis.sock") template("*3\r\n$5\r\nRPUSH\r\n$4\r\nlogs\r\n$${MSG_SIZE}\r\n$MSG\r\n"); }; Does anyone have suggestions of how to accomplish this? Thanks, Jake