12 #ifndef _RDLOG_H_29JUNE2005_
13 #define _RDLOG_H_29JUNE2005_
17 #include <boost/iostreams/tee.hpp>
18 #include <boost/iostreams/stream.hpp>
25 typedef boost::iostreams::tee_device<std::ostream, std::ostream>
RDTee;
36 rdLogger(std::ostream *dest,
bool owner =
false)
48 tee =
new RDTee(*dp_dest, stream);
90 #define BOOST_LOG(__arg__) \
91 if ((__arg__) && (__arg__->dp_dest) && (__arg__->df_enabled)) \
92 RDLog::toStream((__arg__->teestream) ? *(__arg__->teestream) \
93 : *(__arg__->dp_dest))
95 using RDLogger = std::shared_ptr<boost::logging::rdLogger>;
105 #define BOOST_LOG_NO_LIB
106 #include <boost/log/log.hpp>
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
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 &)
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
std::vector< RDLogger > logs_to_reenable