On Nov 04, 2008 at 15:22, Ondrej Martinek <[EMAIL PROTECTED]> wrote:
> Andrei Pelinescu-Onciul wrote:
> >On Oct 13, 2008 at 21:47, Ondrej Martinek <[EMAIL PROTECTED]> wrote:
> >>Hi guys,
> >>
> >>I've prepared a patch to SER logging framework that _automatically_
> >>prefix log messages with the log level and module name strings. In
> >>short, you no longer need to explicitly include the log level or module
> >>name string in the message.
> >>
> >>Eg.:
> >> Instead of:
> >> LOG(L_ERR, "tm: ERROR: something failed\n");
> >> you will write:
> >> ERR("something failed\n");
> >>
> >>The new stderr/syslog format is:
> >>
> >> LEVEL: MODULE [FILE:LINE]: MESSAGE
> >> LEVEL: MODULE: MESSAGE ... if NO_DEBUG macro is defined
> >>
> >>MODULE is "<core>" for the core and "<script>" for the ser.cfg generated
> >>log messages.
> >>
> >>Another feature is that LOG(L_...) macro is superseded by the
> >>corresponding ERR/DBG/...() shorter equivalents (of course, it's still
> >>used when the first argument isn't constant).
> >>
> >>The main reason was to unify the log messages and enable their further
> >>processing by text tools (filtering, colorification, you-name-it,...).
> >>
> >>Since many log messages need to be updated I created a perl script that
> >>fixes most of them in one shot:
> >> - any log level and module name prefix is removed
> >> - LOG(L_ERR/DBG/etc., ...) is replaced by shorter ERR/DBG/etc.() macros
> >> - fix the messages where the log level and the prefix mismatch:
> >>
> >> Eg.: ERR vs. BUG
> >> LOG(L_ERR, "BUG: tm: foo\n")
> >> becomes:
> >> BUG("foo\n");
> >>
> >>
> >>Note that because of this script the patch will touch a lot of files in
> >>many modules. Please feel free to ask about details, suggest or object
> >>to the changes. I plan to commit it soon if there will be no serious
> >>objections.
> >
> >Nice work, but I don't agree with changing existing log messages.
> >It would introduce too many differences and would make backporting
> >things too difficult.
> >I would introduce new log functions (e.g. ERRX) and leave the old ones
> >for some future changes (e.g. maybe after a new release).
>
> Well, I understand your concern but the whole point of my work was to
> fix, unify and improve *all* logging messages more-or-less automatically
> (by the script) and without forcing individual contributors to update
> their code themselves. That wouldn't happen it any near future, you know.
>
> There surely will be a lot of differences but these will be pretty
> simple ones.
>
> The second logging API won't help at all - few will actually use it and
> even fewer will modify the old code - and it's not a good idea anyway.
>
> Also I think it's a good opportunity to apply this kind of changes right
> now when SER is being merged with OpenSER.
No, I think this is the worst point. If we are going to change something
that touches so much code, we will have to do it after the merge (I
don't want to make it even more complex).
Andrei
> >
> >As far as esthetics are concerned I prefer "module" instead of
> > "<module>" and "" for the core.
> >
> >
> >Andrei
_______________________________________________
Serdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/serdev