Apache log4cxx (Incubating)  Version 0.10.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
logstream_base Class Referenceabstract

Base class for the basic_logstream template which attempts to emulate std::basic_ostream but attempts to short-circuit unnecessary operations. More...

Inheritance diagram for logstream_base:
logstream ulogstream wlogstream

Public Member Functions

 logstream_base (const log4cxx::LoggerPtr &logger, const log4cxx::LevelPtr &level)
 Create new instance. More...
 
virtual ~logstream_base ()
 Destructor. More...
 
void insert (std::ios_base &(*manip)(std::ios_base &))
 Insertion operator for std::fixed and similar manipulators. More...
 
int precision ()
 get precision. More...
 
int width ()
 get width. More...
 
int precision (int newval)
 set precision. More...
 
int width (int newval)
 set width. More...
 
int fill ()
 Get fill character. More...
 
int fill (int newval)
 Set fill character. More...
 
std::ios_base::fmtflags flags (std::ios_base::fmtflags newflags)
 Set flags. More...
 
std::ios_base::fmtflags setf (std::ios_base::fmtflags newflags, std::ios_base::fmtflags mask)
 Set flags. More...
 
std::ios_base::fmtflags setf (std::ios_base::fmtflags newflags)
 Set flags. More...
 
void end_message ()
 end of message action. More...
 
void setLevel (const LevelPtr &level)
 Set the level. More...
 
bool isEnabled () const
 Returns true if the current level is the same or high as the level of logger at time of construction or last setLevel. More...
 
bool isEnabledFor (const LevelPtr &level) const
 Returns if logger is currently enabled for the specified level. More...
 
void setLocation (const log4cxx::spi::LocationInfo &location)
 Sets the location for subsequent log requests. More...
 
bool set_stream_state (std::ios_base &os, int &fillchar)
 Sets the state of the embedded stream (if any) to the state of the formatting info. More...
 

Static Public Member Functions

static logstream_baseendmsg (logstream_base &)
 end of message manipulator, triggers logging. More...
 
static logstream_basenop (logstream_base &)
 no-operation manipulator, Used to avoid ambiguity with VC6. More...
 

Protected Member Functions

virtual void log (LoggerPtr &logger, const LevelPtr &level, const log4cxx::spi::LocationInfo &location)=0
 Dispatches the pending log request. More...
 
virtual void erase ()=0
 Erase any content in the message construction buffer. More...
 
virtual void get_stream_state (std::ios_base &base, std::ios_base &mask, int &fill, bool &fillSet) const =0
 Copy state of embedded stream (if any) to value and mask instances of std::ios_base and return fill character value. More...
 
virtual void refresh_stream_state ()=0
 

Detailed Description

Base class for the basic_logstream template which attempts to emulate std::basic_ostream but attempts to short-circuit unnecessary operations.

The logstream has a logger and level that are used for logging requests. The level of the stream is compared against the current level of the logger to determine if the request should be processed.

Constructor & Destructor Documentation

logstream_base ( const log4cxx::LoggerPtr logger,
const log4cxx::LevelPtr level 
)

Create new instance.

Parameters
loggerlogger logger used in log requests.
levelindicates level that will be used in log requests. Can be modified later by inserting a level or calling setLevel.
virtual ~logstream_base ( )
virtual

Destructor.

Member Function Documentation

void end_message ( )

end of message action.

static logstream_base& endmsg ( logstream_base )
static

end of message manipulator, triggers logging.

virtual void erase ( )
protectedpure virtual

Erase any content in the message construction buffer.

Implemented in ulogstream, wlogstream, and logstream.

int fill ( )

Get fill character.

int fill ( int  newval)

Set fill character.

std::ios_base::fmtflags flags ( std::ios_base::fmtflags  newflags)

Set flags.

see std::ios_base.

virtual void get_stream_state ( std::ios_base &  base,
std::ios_base &  mask,
int &  fill,
bool &  fillSet 
) const
protectedpure virtual

Copy state of embedded stream (if any) to value and mask instances of std::ios_base and return fill character value.

Implemented in ulogstream, wlogstream, and logstream.

void insert ( std::ios_base &(*)(std::ios_base &)  manip)

Insertion operator for std::fixed and similar manipulators.

bool isEnabled ( ) const
inline

Returns true if the current level is the same or high as the level of logger at time of construction or last setLevel.

bool isEnabledFor ( const LevelPtr level) const

Returns if logger is currently enabled for the specified level.

virtual void log ( LoggerPtr logger,
const LevelPtr level,
const log4cxx::spi::LocationInfo location 
)
protectedpure virtual

Dispatches the pending log request.

Implemented in ulogstream, wlogstream, and logstream.

static logstream_base& nop ( logstream_base )
static

no-operation manipulator, Used to avoid ambiguity with VC6.

int precision ( )

get precision.

int precision ( int  newval)

set precision.

This should be used in preference to inserting an std::setprecision(n) since the other requires construction of an STL stream which may be expensive.

virtual void refresh_stream_state ( )
protectedpure virtual

Implemented in ulogstream, wlogstream, and logstream.

bool set_stream_state ( std::ios_base &  os,
int &  fillchar 
)

Sets the state of the embedded stream (if any) to the state of the formatting info.

Parameters
osstream to receive formatting info.
fillcharreceives fill charater.
Returns
true if fill character was specified.
std::ios_base::fmtflags setf ( std::ios_base::fmtflags  newflags,
std::ios_base::fmtflags  mask 
)

Set flags.

see std::ios_base.

std::ios_base::fmtflags setf ( std::ios_base::fmtflags  newflags)

Set flags.

see std::ios_base.

void setLevel ( const LevelPtr level)

Set the level.

Parameters
levellevel
void setLocation ( const log4cxx::spi::LocationInfo location)

Sets the location for subsequent log requests.

int width ( )

get width.

int width ( int  newval)

set width.

This should be used in preference to inserting an std::setw(n) since the other requires construction of an STL stream which may be expensive.


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