1 #ifndef __syslogstream_h__ 
    2 #define __syslogstream_h__ 
   25 #define mapItem(s) {#s,static_cast<level>(LOG_##s)} 
   38                 if (l.name == aName) {
 
   42             throw std::runtime_error(
"unknown level name " + aName);
 
   46                 if (l.Level == aLevel) {
 
   50             throw std::runtime_error(
"illegal level");
 
   59             if (c == 
'\n' || !c || c == EOF) {
 
   94         logstream(
const std::string& aLevel) : std::ostream(&buffer), buffer(aLevel) {}
 
  104         provider(
const std::string& name, std::ostream& aDefaultStream = std::cout) :
 
  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";
 
  113                     defaultLevel.erase(0, 1);
 
  117                 stream = 
new std::ofstream(name, std::ios::out | std::ios::ate);
 
  132     if (logStream != 
nullptr) {