[asterisk-users] problem with logger: syslog vs. file

Tony Mountifield tony at softins.co.uk
Tue Jun 2 10:48:29 CDT 2020


In article <94191802-6c9c-bdab-615b-001786a2a0ca at gmx.ch>,
Fourhundred Thecat <400thecat at gmx.ch> wrote:
>  > On 2019-11-16 03:29, Fourhundred Thecat wrote:
> > Hello,
> >
> > I am logging directly into file and also to syslog.
> > Here is snippet from my /etc/asterisk/logger.conf:
> >
> >       messages => notice,warning,error,verbose
> > syslog.local0 => notice,warning,error,verbose
> >
> > But the logs look different:
> >
> >    VERBOSE[7609][C-00000013]  pbx.c:
> >    NOTICE[3042] chan_sip.c: Peer '1111' is now UNREACHABLE!
> >
> > vs.
> >
> >    VERBOSE[7609][C-00000013]: pbx.c:2925 in pbx_extension_helper:
> >    NOTICE[3042]: chan_sip.c:30421 in sip_poke_noanswer: Peer '8884' is
> > now UNREACHABLE!
> >
> > specifically, the messages coming from syslog have extra debugging
> > information (which I am not interested in):
> >
> >    pbx.c:
> >    chan_sip.c:
> >
> > vs .
> >
> >    pbx.c:2925 in pbx_extension_helper:
> >    chan_sip.c:30421 in sip_poke_noanswer:
> >
> > Why are same log level settings producing different logs?
> >
> > This is just making the log lines longer and less readable. It is just
> > bombarding me with useless information. I don't have debug set, so why
> > am I getting debug information? Who cares on which line in the .c file
> > the function is defined ?
> 
> I have reported the above problem twice, but unfortunately did not
> receive any feedback at all.
> 
> I believe I have now finally pinpointed the exact place in source code,
> where this is coming from. main/logger.c:
> 	break;
> 
> 
> case LOGTYPE_SYSLOG:
>          snprintf(buf, size, "%s[%d]%s: %s:%d in %s: %s",
>               levels[msg->level], msg->lwp, call_identifier_str,
> msg->file, msg->line, msg->function, msg->message);
>          term_strip(buf, buf, size);
>          break;
> 
> case LOGTYPE_FILE:
>          snprintf(buf, size, "[%s] %s[%d]%s %s: %s",
>                msg->date, msg->level_name, msg->lwp,
> call_identifier_str, msg->file, msg->message);
>          term_strip(buf, buf, size);
>          break;
> 
> 
> so basically, it is hardcoded that logging to syslog adds extra
> msg->line and msg->function.
> 
> why would anybody do that ?
> 
> This seems to me like a very unfortunate decision.
> Is there a reason for this ?
> Am I missing something?

I agree with you that it is strange the two logging types are different.

But someone with a different opinion than yours might well say "Why did
they decide to omit the line number and function from the file logging?
It's very useful information!"

The beauty of open source is of course that if you feel strongly enough,
you can modify the source file before you build it, so it shows just
what you want.

Cheers
Tony
-- 
Tony Mountifield
Work: tony at softins.co.uk - http://www.softins.co.uk
Play: tony at mountifield.org - http://tony.mountifield.org



More information about the asterisk-users mailing list