[reSIProcate] log entry creation for external only

Justin Matthews jmatthewsr at gmail.com
Mon Dec 4 15:10:15 CST 2006


Another option: add another type to log:  OnlyExternalNoHeaders?

 

  _____  

From: Justin Matthews [mailto:jmatthewsr at gmail.com] 
Sent: Monday, December 04, 2006 4:08 PM
To: 'Scott Godin'; 'resiprocate-devel at list.resiprocate.org'
Subject: RE: [reSIProcate] log entry creation for external only

 

Ok, thanks.  I don't want the tag information formatted if I never use it,
there is a lot of logging and reducing processing during logging adds up.
The return value doesn't help here because it is called too late.  

 

How about an additional default param to Log::initialize to disable default
header handling?  Any objections or a better way to do this?

 

Thanks,

 

 

-justin

 

  _____  

From: Scott Godin [mailto:slgodin at icescape.com] 
Sent: Monday, December 04, 2006 3:58 PM
To: Justin Matthews; resiprocate-devel at list.resiprocate.org
Subject: RE: [reSIProcate] log entry creation for external only

 

Even if you are using external logging only - you still might want the tags
- they are passed to the external logger:

 

class ExternalLogger

{

   public:

      virtual ~ExternalLogger()=0;

      /** return true to also do default logging, false to supress default
logging. */

      virtual bool operator()(Log::Level level,

                              const Subsystem& subsystem, 

                              const Data& appName,

                              const char* file,

                              int line,

                              const Data& message,

                        const Data& messageWithHeaders) = 0;

};

 

Scott

 

BTW:  Log::OnlyExternal is a redundant setting.  You can return true or
false from the external logger fn, if you want logging to continue or not
using resip handling.

 

From: resiprocate-devel-bounces at list.resiprocate.org
[mailto:resiprocate-devel-bounces at list.resiprocate.org] On Behalf Of Justin
Matthews
Sent: Monday, December 04, 2006 3:18 PM
To: resiprocate-devel at list.resiprocate.org
Subject: [reSIProcate] log entry creation for external only

 

For apps that use external logging only, can Log::Guard::Guard() disable
outputting the tags to the log stream since it will never be used anyway?

 

Log::Guard::Guard(resip::Log::Level level,

                  const resip::Subsystem& subsystem,

                  const char* file,

                  int line) :

   mLevel(level),

   mSubsystem(subsystem),

   mFile(file),

   mLine(line),

   mData(Data::Borrow, mBuffer, sizeof(mBuffer)),

   mStream(mData.clear())

{

      /* mod, not needed by external logger*/

      if (resip::Log::_type != resip::Log::OnlyExternal)

      {

            Log::tags(mLevel, mSubsystem, mFile, mLine, mStream);

            mStream << resip::Log::delim;

            mStream.flush();

   

            mHeaderLength = mData.size();

      }

      else

      {

            mHeaderLength = 0;

      }

}

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20061204/e0da412f/attachment.htm>


More information about the resiprocate-devel mailing list