Tony Mountifield
2020-Jun-02 15:48 UTC
[asterisk-users] problem with logger: syslog vs. file
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
Fourhundred Thecat
2020-Jun-03 04:06 UTC
[asterisk-users] problem with logger: syslog vs. file
> On 2020-06-02 17:48, Tony Mountifield wrote: > 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:>> >> 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? > > 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.I know I can patch asterisk and compile myself. I did it in the past, and it is tedious to keep own patches and manage own packages. Its last resort for me. Anyway, I am asking weather there is a reason why this particular decision was taken. To me perosnally it seems like idiocy, but I am not developer and maybe I am missing something. If I am right, and this is a bug, then I would like to suggest this should be fixed. I am grateful for asterisk, and I want to help improve, even if in a small way.
Tony Mountifield
2020-Jun-03 10:18 UTC
[asterisk-users] problem with logger: syslog vs. file
In article <88f96e46-e6bb-a7ef-bebb-5588ef6cd6c1 at gmx.ch>, Fourhundred Thecat <400thecat at gmx.ch> wrote:> > On 2020-06-02 17:48, Tony Mountifield wrote: > > 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: > > >> > >> 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? > > > > 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. > > I know I can patch asterisk and compile myself. I did it in the past, > and it is tedious to keep own patches and manage own packages. Its last > resort for me. > > Anyway, I am asking weather there is a reason why this particular > decision was taken. To me perosnally it seems like idiocy, but I am not > developer and maybe I am missing something.I have no idea, I'm not part of Asterisk development. I suspect that each logging type was added separately by different people, and it just happened.> If I am right, and this is a bug, then I would like to suggest this > should be fixed.I would agree that the fact the two logging types show different information is a bug, and you could report it at https://issues.asterisk.org/ However, the conversation would then be: should both logging types include line number and function? should both logging types omit them? should it be a configuration option in logger.conf whether they include or omit? if so, what should the default be, if not specified in logger.conf?> I am grateful for asterisk, and I want to help improve, even if in a > small way.Indeed! Cheers Tony -- Tony Mountifield Work: tony at softins.co.uk - http://www.softins.co.uk Play: tony at mountifield.org - http://tony.mountifield.org