diff options
author | Marc Laukien <marc@zeroc.com> | 2002-02-10 12:52:13 +0000 |
---|---|---|
committer | Marc Laukien <marc@zeroc.com> | 2002-02-10 12:52:13 +0000 |
commit | 44ecadaa1264fcc3d5eb9390da499d18cf3056cf (patch) | |
tree | 83ba8979ed4866e864e5f2e95fb3cf176e2b8b58 /cpp/src/Ice/LoggerUtil.cpp | |
parent | fix (diff) | |
download | ice-44ecadaa1264fcc3d5eb9390da499d18cf3056cf.tar.bz2 ice-44ecadaa1264fcc3d5eb9390da499d18cf3056cf.tar.xz ice-44ecadaa1264fcc3d5eb9390da499d18cf3056cf.zip |
LoggerUtil
Diffstat (limited to 'cpp/src/Ice/LoggerUtil.cpp')
-rw-r--r-- | cpp/src/Ice/LoggerUtil.cpp | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/cpp/src/Ice/LoggerUtil.cpp b/cpp/src/Ice/LoggerUtil.cpp new file mode 100644 index 00000000000..9e8cf0ee36a --- /dev/null +++ b/cpp/src/Ice/LoggerUtil.cpp @@ -0,0 +1,101 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#include <Ice/LoggerUtil.h> +#include <Ice/Logger.h> + +using namespace std; +using namespace Ice; +using namespace IceInternal; + +Ice::Warning::Warning(const LoggerPtr& logger) : + _logger(logger) +{ +} + +Ice::Warning::~Warning() +{ + flush(); +} + +void +Ice::Warning::flush() +{ + string s = _str.str(); + if (!s.empty()) + { + _logger->warning(s); + } + _str.clear(); +} + +Warning& +Ice::operator<<(Warning& out, ios_base& (*val)(ios_base&)) +{ + out.__str() << val; + return out; +} + +Ice::Error::Error(const LoggerPtr& logger) : + _logger(logger) +{ +} + +Ice::Error::~Error() +{ + flush(); +} + +void +Ice::Error::flush() +{ + string s = _str.str(); + if (!s.empty()) + { + _logger->error(s); + } + _str.clear(); +} + +Error& +Ice::operator<<(Error& out, ios_base& (*val)(ios_base&)) +{ + out.__str() << val; + return out; +} + +Ice::Trace::Trace(const LoggerPtr& logger, const string& category) : + _logger(logger), + _category(category) +{ +} + +Ice::Trace::~Trace() +{ + flush(); +} + +void +Ice::Trace::flush() +{ + string s = _str.str(); + if (!s.empty()) + { + _logger->trace(s, _category); + } + _str.clear(); +} + +Trace& +Ice::operator<<(Trace& out, ios_base& (*val)(ios_base&)) +{ + out.__str() << val; + return out; +} |