[Freeswitch-dev] [POST-1.0.2][RFC][PATCH 0/2] Fine-grained logging: per-session logging
Stefan Knoblich
stkn at freeswitch.org
Mon Dec 15 07:56:02 PST 2008
Yeah on second thought that way makes more sense and is a little more elegant.
I'll post an updated patchset when i'm done.
Am Monday 15 December 2008 schrieb Anthony Minessale:
> I like alternate version because it does not limit the scope of the special
> logging to sessions. It can then be used to aggregate logging on any common
> filterable item.
>
>
> On Mon, Dec 15, 2008 at 8:26 AM, <stkn at freeswitch.org> wrote:
>
> > Hi,
> >
> > the following series of patches adds a per-session logging capability
> > (patch 1)
> > and converts a part of mod_sofia over to use the new functions as an
> > example
> > (patch 2).
> >
> > Note: This is one of two possible ways to implement the feature... (see
> > below)
> >
> >
> > Why?:
> > Some of "us" are running fs with high call volumes and turning on
> > debugging
> > globally causes massive amounts of space used and reduced performance.
> > This
> > patch extends the logging api to be able to change the log level for e.g.
> > a
> > single session (either from the dialplan or via API command / C API)
> > for diagnosing problems.
> >
> > How?:
> > The core patch adds a couple of new functions:
> >
> > switch_core_session_log_printf(switch_core_session_t *, ...)
> > switch_core_session_set_loglevel()
> > switch_core_session_get_loglevel()
> >
> > A new API command "uuid_loglevel <uuid> <level>" (mod_commands.c)
> > and a dialplan app "session_loglevel" (mod_dptools.c part of the core
> > patch)
> > are included.
> >
> > The default loglevel of a session is the current global log level.
> >
> > All instances of switch_log_printf() that log session-specific messages
> > need to be converted to the new log function for this to be useful!
> > (The second patch has the changes for mod_sofia.c)
> >
> >
> > Alternative implementation:
> >
> > There's a second way to implement this feature, without adding another
> > log_printf function:
> >
> > switch_log_printf has a "userdata" parameter that is currently unused,
> > which could be used to pass an additional value (e.g. a session) by
> > adding additional SWITCH_*_LOG helper macros. A session log call could
> > look like this:
> >
> > switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG,
> > "I'm a session debug
> > message\n");
> >
> > Pro:
> > - Can be extended for other type of log actions (e.g. if we want
> > to implement even more fine-grained logging, per-module etc.)
> > without adding more switch_*_log_printf functions
> >
> > Con:
> > - More work for switch_log_printf()
> >
> >
> >
> > Now it's up to you to discuss which way we want to go and if this feature
> > is deemed useful :P
> >
> > Stefan
> >
> >
> > P.S.: The patches are available via http too:
> >
> >
> > http://oss.axsentis.de/people/stkn/freeswitch/fs-r10758-session_loglevel.patch
> >
> > http://oss.axsentis.de/people/stkn/freeswitch/fs-r10758-session_loglevel-convert-mod_sofia.c.patch
> >
> >
> > Diffstat of the core patch:
> >
> > include/private/switch_core_pvt.h | 1
> > include/switch_core.h | 15 ++++++++++
> > include/switch_log.h | 18 +++++++++++++
> > mod/applications/mod_commands/mod_commands.c | 37
> > +++++++++++++++++++++++++++
> > mod/applications/mod_dptools/mod_dptools.c | 19 +++++++++++++
> > switch_core_session.c | 15 ++++++++++
> > switch_log.c | 34
> > ++++++++++++++++++++----
> > 7 files changed, 133 insertions(+), 6 deletions(-)
> >
> >
> > --
> > Stefan Knoblich
> > Systemadministrator
> >
> > axsentis GmbH
> > Eupener Strasse 74
> > 50933 Köln
> >
> > Tel: 0180 - 506 705 521*
> > Fax: 0180 - 506 705 529*
> >
> > E-Mail: s.knoblich at axsentis.de
> > Web: www.axsentis.de
> >
> > Eingetragen beim AG Köln: HR B 56238
> > UST-ID: DE244977565
> > Gesellschafter-Geschäftsführer:
> > Yan Lecomte, Eduard Schlein, Apostolos Varsamis
> >
> > *14ct/min aus dem Festnetz der T-Com | dtms
> >
> >
> > _______________________________________________
> > Freeswitch-dev mailing list
> > Freeswitch-dev at lists.freeswitch.org
> > http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
> > UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
> > http://www.freeswitch.org
> >
> >
>
>
> --
> Anthony Minessale II
>
> FreeSWITCH http://www.freeswitch.org/
> ClueCon http://www.cluecon.com/
>
> AIM: anthm
> MSN:anthony_minessale at hotmail.com <MSN%3Aanthony_minessale at hotmail.com>
> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com<PAYPAL%3Aanthony.minessale at gmail.com>
> IRC: irc.freenode.net #freeswitch
>
> FreeSWITCH Developer Conference
> sip:888 at conference.freeswitch.org <sip%3A888 at conference.freeswitch.org>
> iax:guest at conference.freeswitch.org/888
> googletalk:conf+888 at conference.freeswitch.org<googletalk%3Aconf%2B888 at conference.freeswitch.org>
> pstn:213-799-1400
>
--
Stefan Knoblich
Systemadministrator
axsentis GmbH
Eupener Strasse 74
50933 Köln
Tel: 0180 - 506 705 521*
Fax: 0180 - 506 705 529*
E-Mail: s.knoblich at axsentis.de
Web: www.axsentis.de
Eingetragen beim AG Köln: HR B 56238
UST-ID: DE244977565
Gesellschafter-Geschäftsführer:
Yan Lecomte, Eduard Schlein, Apostolos Varsamis
*14ct/min aus dem Festnetz der T-Com | dtms
More information about the Freeswitch-dev
mailing list