12 #ifndef RDLOG_H_29JUNE2005
13 #define RDLOG_H_29JUNE2005
17 #include <boost/iostreams/tee.hpp>
18 #include <boost/iostreams/stream.hpp>
27 typedef boost::iostreams::tee_device<std::ostream, std::ostream>
RDTee;
38 rdLogger(std::ostream *dest,
bool owner =
false)
50 tee =
new RDTee(*dp_dest, stream);
92 #define BOOST_LOG(__arg__) \
93 if ((__arg__) && (__arg__->dp_dest) && (__arg__->df_enabled)) \
94 RDLog::toStream((__arg__->teestream) ? *(__arg__->teestream) \
95 : *(__arg__->dp_dest))
97 using RDLogger = std::shared_ptr<boost::logging::rdLogger>;
107 #define BOOST_LOG_NO_LIB
108 #include <boost/log/log.hpp>
131 std::uint64_t d_origState = 0;
std::shared_ptr< boost::logging::rdLogger > RDLogger
RDKIT_RDGENERAL_EXPORT RDLogger rdDebugLog
RDKIT_RDGENERAL_EXPORT RDLogger rdStatusLog
RDKIT_RDGENERAL_EXPORT RDLogger rdAppLog
RDKIT_RDGENERAL_EXPORT RDLogger rdInfoLog
RDKIT_RDGENERAL_EXPORT RDLogger rdWarningLog
RDKIT_RDGENERAL_EXPORT RDLogger rdErrorLog
LogStateSetter(RDLoggerList toEnable)
rdLogger(std::ostream *dest, bool owner=false)
void ClearTee()
Remove our tee if it's set.
void SetTee(std::ostream &stream)
Sets a stream to tee the output to.
#define RDKIT_RDGENERAL_EXPORT
RDKIT_RDGENERAL_EXPORT void InitLogs()
RDKIT_RDGENERAL_EXPORT std::ostream & toStream(std::ostream &)
std::vector< RDLogger > RDLoggerList
RDKIT_RDGENERAL_EXPORT std::string log_status()
RDKIT_RDGENERAL_EXPORT void enable_logs(const char *arg)
boost::iostreams::tee_device< std::ostream, std::ostream > RDTee
RDKIT_RDGENERAL_EXPORT void disable_logs(const char *arg)
boost::iostreams::stream< RDTee > RDTeeStream