ewmscp  ..
Public Member Functions | Private Attributes | List of all members
logstream::provider Class Reference

#include <syslogstream.h>

Collaboration diagram for logstream::provider:
[legend]

Public Member Functions

 provider (const std::string &name, std::ostream &aDefaultStream=std::cout)
 
 ~provider ()
 
std::ostream & getStream ()
 

Private Attributes

std::ostream * stream
 
std::ostream & defaultStream
 

Detailed Description

Definition at line 100 of file syslogstream.h.

Constructor & Destructor Documentation

◆ provider()

logstream::provider::provider ( const std::string &  name,
std::ostream &  aDefaultStream = std::cout 
)
inline

Definition at line 104 of file syslogstream.h.

104  :
105  defaultStream(name == "std::cerr" ? std::cerr : aDefaultStream) {
106  if (name.empty() || name == "std::cerr") {
108  } else if (name.compare(0, 6, "syslog") == 0) {
109  auto defaultLevel = name.substr(6);
110  if (defaultLevel.empty()) {
111  defaultLevel = "INFO";
112  } else {
113  defaultLevel.erase(0, 1);
114  }
115  stream = new logstream(defaultLevel);
116  } else {
117  stream = new std::ofstream(name, std::ios::out | std::ios::ate);
118  }
119  }

References defaultStream, and stream.

◆ ~provider()

logstream::provider::~provider ( )
inline

Definition at line 120 of file syslogstream.h.

120  {
121  if (stream != &defaultStream) {
122  delete stream;
123  }
124  }

References defaultStream, and stream.

Member Function Documentation

◆ getStream()

std::ostream& logstream::provider::getStream ( )
inline

Definition at line 125 of file syslogstream.h.

125  {
126  return *stream;
127  }

References stream.

Referenced by main().

Here is the caller graph for this function:

Member Data Documentation

◆ defaultStream

std::ostream& logstream::provider::defaultStream
private

Definition at line 102 of file syslogstream.h.

Referenced by provider(), and ~provider().

◆ stream

std::ostream* logstream::provider::stream
private

Definition at line 101 of file syslogstream.h.

Referenced by getStream(), provider(), and ~provider().


The documentation for this class was generated from the following file:
logstream::provider::stream
std::ostream * stream
Definition: syslogstream.h:101
logstream
Definition: syslogstream.h:9
logstream::provider::defaultStream
std::ostream & defaultStream
Definition: syslogstream.h:102