[OpenSIPS-Users] Problem using xlog with variables

Bogdan-Andrei Iancu bogdan at opensips.org
Mon Dec 5 09:58:54 CET 2016


Hi Jan,

Of course you can, but you need to evaluate the variables before passing 
it to the route (as param)

$var(msg) = rm + "received on " + $var(hostname);
route(logger, $var(msg));

Regards,

Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com

On 04.12.2016 21:29, Jan Blom wrote:
>
> Hi Bogdan,
>
> Thank you for the clarification. I was suspecting that.
>
> That means I cannot simply drop-in replace calls to xlog with calls to 
> a route and passing the log message as an argument.
>
> What do you think about adding a core function eval() that evaluates a 
> string (possibly recursively)?
>
> Best regards,
>
> Jan
>
> *From:*Bogdan-Andrei Iancu [mailto:bogdan at opensips.org]
> *Sent:* den 2 december 2016 09:57
> *To:* OpenSIPS users mailling list <users at lists.opensips.org>; Jan 
> Blom <jan.blom at peopleinteractive.se>
> *Subject:* Re: [OpenSIPS-Users] Problem using xlog with variables
>
> Hi Jan,
>
> You can print via variables strings containing again references to 
> other variables - there is only one level of variable evaluation.
>
> You should do it:
>     $var(msg) = $rm + "received on " + $var(hostname);
>     xlog("L_INFO", "$var(msg)");
>
> Regards,
>
> Bogdan-Andrei Iancu
> OpenSIPS Founder and Developer
> http://www.opensips-solutions.com
>
> On 01.12.2016 23:36, Jan Blom wrote:
>
>     Hello all,
>
>     I was going to centralized logging functions to a route block that
>     would be called from various place in script, using $param(n) to
>     access the log message. I got stuck on what I guess is variable
>     evaluation. Simplified this is the problem:
>
>     The normal (working) way:
>
>     xlog("L_INFO", "$rm received on $var(hostname)");
>
>     Output: INVITE received on proxy-stage-01
>
>     What I was trying:
>
>     $var(msg) = "$rm received on $var(hostname)";
>
>     xlog("L_INFO", "$var(msg)");
>
>     Output: $rm received on $var(hostname)
>
>     In the latter case the variables are not evaluated the way I was
>     expecting.
>
>     Is there a better way to achieve the output of the first example
>     by using a variable containing the message to xlog?
>
>     I am testing this on OpenSIPS 2.1.
>
>     Best regards,
>
>     Jan Blom
>
>
>
>
>     _______________________________________________
>
>     Users mailing list
>
>     Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>
>     http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20161205/7a2ce442/attachment.htm>


More information about the Users mailing list