[SR-Dev] git:master: Add the possibility to override logging facility.

Andrei Pelinescu-Onciul andrei at iptel.org
Mon Mar 2 17:48:30 CET 2009


On Mar 02, 2009 at 17:26, Jan Janak <jan at iptel.org> wrote:
> Module: sip-router
> Branch: master
> Commit: f5618c1a54e9190bda9057f07caf700d0c96ca65
> URL:    http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=f5618c1a54e9190bda9057f07caf700d0c96ca65
> 
> Author: Jan Janak <jan at iptel.org>
> Committer: Jan Janak <jan at iptel.org>
> Date:   Mon Mar  2 17:23:17 2009 +0100
> 
> Add the possibility to override logging facility.
> 
> This patch adds adds a new parameter to LOG_ which makes it possible to
> override the logging facility configured through the config framework.
> Modules then can opt to specify a different logging facility than the
> one configured globally in the sip router. The is currently used by the
> acc module from kamailio.
> 
> The first parameter of LOG_ is now facility. You can set the parameter
> to DEFAULT_FACILITY and in that case the facility configured through
> the config framework of the sip router will be used.


There are a few more minor LOG() changes that I think we should do.
I've just spoken about some other LOG() changes with Ondrej.

I think we need a LOG function similar to LOG_() but for which both the
log level name and the location prefix can be changed.
Something like:

LOG_raw(level, prefix1, prefix2, fmt, args...)

and then:

LOG(level, fmt, args...)  = 
  LOG_raw(level, LOG_LEVEL2NAME(level), LOC_INFO, fmt, args...)

LOG_(level, prefix, fmt, args...) =
  LOG_raw(level, LOG_LEVEL2NAME(level), prefix, fmt, args...)

LOG_noloc(level, fmt, args...) =
  LOG_raw(level, LOG_LEVEL2NAME(level), "", fmt, args...)

LOG_nolev(level, fmt, args...) = 
  LOG_raw(level, "",  LOC_INFO, fmt, args ...)

LOG_pure(level, fmt, args...) =
 LOG_raw(level, "", "", fmt, args...)

(the names should be shorter, I used longer versions just to make this
example more readable).

We need some of them in some parts of the current code (e.g. we don't
want log level names added for the script log or for the memory/malloc
logs) and we'll also be future proof.

We also need a L_BUG different from L_CRIT (Ondrej code would add a BUG
prefix to all the L_CRIT messages and many of them are just critical
errors and not bugs).


> 
> The value of DEFAULT_FACILITY is 0 which is equal to LOG_KERN on linux
> systems. This means that you cannot set the logging facility to
> LOG_KERN from modules calling LOG_ directly because then the logging
> facility configured through the config framework will be used.
> 
> This patch also adds a new macro called LOG_FC which works just like
> LOG macro except that the first parameter of LOG_FC is the logging
> facility to be used.
> 
> And finally there is a new macro called LM_GEN2, this is one of the
> kamailio compatibility macros and it is just a different name for
> LOG_FC.
> 
> Signed-off-by: Jan Janak <jan at iptel.org>

Andrei



More information about the sr-dev mailing list