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.

Regards
--ondra

> 
> 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

Reply via email to