# logstream_base Class Reference

Inherited by logstream, ulogstream, and wlogstream.

List of all members.

## 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.

## Public Member Functions

| logstream_base (const log4cxx::LoggerPtr &logger, const log4cxx::LevelPtr &level)
| Create new instance.
virtual | ~logstream_base ()
| Destructor.
void | insert (std::ios_base &(*manip)(std::ios_base &))
| Insertion operator for std::fixed and similar manipulators.
int | precision ()
| get precision.
int | width ()
| get width.
int | precision (int newval)
| set precision.
int | width (int newval)
| set width.
int | fill ()
| Get fill character.
int | fill (int newval)
| Set fill character.
std::ios_base::fmtflags | flags (std::ios_base::fmtflags newflags)
| Set flags.
std::ios_base::fmtflags | setf (std::ios_base::fmtflags newflags, std::ios_base::fmtflags mask)
| Set flags.
std::ios_base::fmtflags | setf (std::ios_base::fmtflags newflags)
| Set flags.
void | end_message ()
| end of message action.
void | setLevel (const LevelPtr &level)
| Set the level.
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.
bool | isEnabledFor (const LevelPtr &level) const
| Returns if logger is currently enabled for the specified level.
void | setLocation (const log4cxx::spi::LocationInfo &location)
| Sets the location for subsequent log requests.
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.

## Static Public Member Functions

static logstream_base & | endmsg (logstream_base &)
| end of message manipulator, triggers logging.
static logstream_base & | nop (logstream_base &)
| no-operation manipulator, Used to avoid ambiguity with VC6.

## Protected Member Functions

virtual void | log (LoggerPtr &logger, const LevelPtr &level, const log4cxx::spi::LocationInfo &location)=0
| Dispatches the pending log request.
virtual void | erase ()=0
| Erase any content in the message construction buffer.
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.
virtual void | refresh_stream_state ()=0

## Classes

class | logstream_ios_base
| Minimal extension of std::ios_base to allow creation of embedded IO states.

## 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 logstream, wlogstream, and ulogstream.

int fill | ( | int | newval | ) |

| Set fill character.

int fill | ( |  | ) |

| Get 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 logstream, wlogstream, and ulogstream.

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 logstream, wlogstream, and ulogstream.

static logstream_base& nop | ( | logstream_base & |  | ) | `[static]`

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

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.

int precision | ( |  | ) |

| get precision.

virtual void refresh_stream_state | ( |  | ) | `[protected, pure virtual]`

| Implemented in logstream, wlogstream, and ulogstream.

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

| Set flags. see std::ios_base.

std::ios_base::fmtflags setf | ( | std::ios_base::fmtflags | newflags,
|  | std::ios_base::fmtflags | mask
| ) |

| 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 | ( | 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.

int width | ( |  | ) |

| get width.

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

- stream.h