Ice 3.7 C++98 API Reference
|
Go to the documentation of this file.
5 #ifndef ICE_LOGGER_UTIL_H
6 #define ICE_LOGGER_UTIL_H
25 std::string
str()
const;
28 std::ostringstream& _stream();
33 std::ostringstream _os;
43 static long testex(...);
45 static const bool value =
sizeof(testex(
static_cast<T*
>(0))) ==
sizeof(
char);
48 template<
typename T,
bool = false>
49 struct LoggerOutputInserter
51 static inline LoggerOutputBase&
52 insert(LoggerOutputBase& out,
const T& val)
61 struct LoggerOutputInserter<T, true>
63 static inline LoggerOutputBase&
64 insert(LoggerOutputBase& out,
const T& ex)
66 return loggerInsert(out, ex);
71 inline LoggerOutputBase&
72 operator<<(LoggerOutputBase& out,
const T& val)
74 return LoggerOutputInserter<T, IsException<T>::value>::insert(out, val);
77 #ifdef ICE_CPP11_MAPPING
78 template<typename T, typename ::std::enable_if<::std::is_base_of<::Ice::ObjectPrx, T>::value>::type* =
nullptr>
79 inline LoggerOutputBase&
80 operator<<(LoggerOutputBase& os, const ::std::shared_ptr<T>& p)
83 inline LoggerOutputBase&
84 operator<<(LoggerOutputBase& os, const ::IceInternal::ProxyHandle<T>& p)
87 return os << (p ? p->ice_toString() :
"");
90 inline LoggerOutputBase&
91 operator<<(LoggerOutputBase& out, const ::std::exception& ex)
93 out._stream() << ex.what();
97 ICE_API LoggerOutputBase&
operator<<(LoggerOutputBase&, std::ios_base& (*)(std::ios_base&));
104 template<
class L,
class LPtr,
void (L::*output)(const std::
string&)>
120 std::string s = _stream().str();
157 std::string _category;
~LoggerOutput()
Definition: LoggerUtil.h:112
std::string str() const
Obtains the collected output.
A communicator plug-in.
Definition: Plugin.h:198
LoggerOutput(const LPtr &lptr)
Definition: LoggerUtil.h:108
virtual void initialize()
This method is a no-op.
::IceInternal::Handle< Communicator > CommunicatorPtr
Definition: Communicator.h:604
std::ostream & operator<<(std::ostream &out, const ProtocolVersion &version)
Definition: Protocol.h:179
Flushes output to Logger::trace.
Definition: LoggerUtil.h:148
Collects output and flushes it via a logger method.
Definition: LoggerUtil.h:106
LoggerPlugin(const CommunicatorPtr &communicator, const LoggerPtr &logger)
Constructs the plug-in with a target communicator and a logger.
#define ICE_API
Definition: Config.h:197
A special plug-in that installs a logger during a communicator's initialization.
Definition: LoggerUtil.h:166
virtual void destroy()
This method is a no-op.
Trace(const LoggerPtr &, const std::string &)
LoggerOutput< Logger, LoggerPtr, &Logger::print > Print
Flushes output to Logger::print.
Definition: LoggerUtil.h:135
Abstract base class for all Ice exceptions.
Definition: Exception.h:22
Definition: BuiltinSequences.h:113
LoggerOutput< Logger, LoggerPtr, &Logger::error > Error
Flushes output to Logger::error.
Definition: LoggerUtil.h:141
LoggerOutput< Logger, LoggerPtr, &Logger::warning > Warning
Flushes output to Logger::warning.
Definition: LoggerUtil.h:138
Base class for logger output utility classes.
Definition: LoggerUtil.h:21
void flush()
Flushes the colleted output to the logger method.
Definition: LoggerUtil.h:118
::IceInternal::Handle< Logger > LoggerPtr
Definition: Logger.h:141