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:

## 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_base & | endmsg (logstream_base &)
| end of message manipulator, triggers logging. More...
static logstream_base & | nop (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

  logger | logger logger used in log requests.
  level | indicates 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 | ( |  | ) |

protected pure 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

protected pure 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
| ) |  |

protected pure 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 | ( |  | ) |

protected pure 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

  os | stream to receive formatting info.
  fillchar | receives 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

  level | level

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:

- stream.h