summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/LoggerUtil.cpp
diff options
context:
space:
mode:
authorMarc Laukien <marc@zeroc.com>2002-02-10 12:52:13 +0000
committerMarc Laukien <marc@zeroc.com>2002-02-10 12:52:13 +0000
commit44ecadaa1264fcc3d5eb9390da499d18cf3056cf (patch)
tree83ba8979ed4866e864e5f2e95fb3cf176e2b8b58 /cpp/src/Ice/LoggerUtil.cpp
parentfix (diff)
downloadice-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.cpp101
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;
+}