WvStreams
Classes | Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
WvLogBuffer Class Reference

WvLogBuffer is a descendant of WvLogRcv that buffers log messages for later use. More...

#include <wvlogbuffer.h>

Inheritance diagram for WvLogBuffer:
Inheritance graph
[legend]

Classes

class  Msg
 
class  MsgCounter
 

Public Member Functions

 DeclareWvList (Msg)
 
 DeclareWvDict (MsgCounter, WvString, src_lvl)
 
 WvLogBuffer (int _max_lines, WvLog::LogLevel _max_level=WvLog::NUM_LOGLEVELS)
 
MsgList & messages ()
 
void feed_receiver (WvLogRcv &receiver)
 
void dump (WvStream &s)
 
virtual void log (WvStringParm source, int loglevel, const char *_buf, size_t len)
 
void end_line ()
 
WvLog::LogLevel level () const
 
void level (WvLog::LogLevel lvl)
 
bool set_custom_levels (WvString descr)
 

Public Attributes

bool force_new_line
 

Static Public Attributes

static const char * loglevels [WvLog::NUM_LOGLEVELS]
 

Protected Member Functions

void handle_msg (Msg *lastmsg)
 
virtual void _begin_line ()
 Start a new log line (print prefix)
 
virtual void _mid_line (const char *str, size_t len)
 add text to the current log line. More...
 
virtual void _end_line ()
 End this (Guaranteed NonEmpty) log line.
 
 DeclareWvScatterDict (Src_Lvl, WvString, src)
 
virtual void _make_prefix (time_t now)
 Set the Prefix and Prefix Length (size_t prelen)
 
const char * appname (WvStringParm log) const
 

Protected Attributes

MsgList msgs
 
MsgCounterDict counters
 
WvDynBuf current
 
int max_lines
 
WvString last_source
 
WvLog::LogLevel max_level
 
WvLog::LogLevel last_level
 
time_t last_time
 
bool at_newline
 
WvString prefix
 
size_t prelen
 
Src_LvlDict custom_levels
 

Detailed Description

WvLogBuffer is a descendant of WvLogRcv that buffers log messages for later use.

It only keeps up to max_lines log entries for every source/debug level, s.t. debug level <= max_level

Definition at line 17 of file wvlogbuffer.h.

Member Function Documentation

◆ _mid_line()

void WvLogBuffer::_mid_line ( const char *  str,
size_t  len 
)
protectedvirtual

add text to the current log line.

'str' may contain only one '
' optional character at str[len-1] (the end); if it does, end_line will be called immediately after this function.

Implements WvLogRcv.

Definition at line 48 of file wvlogbuffer.cc.

Member Data Documentation

◆ loglevels

const char * WvLogRcv::loglevels
staticinherited
Initial value:
= {
"Crit",
"Err",
"Warn",
"Notice",
"Info",
"*1",
"*2",
"*3",
"*4",
"*5",
}

Definition at line 78 of file wvlogrcv.h.


The documentation for this class was generated from the following files: