diff options
author | Marcus Müller <mmueller@gnuradio.org> | 2019-08-07 21:45:12 +0200 |
---|---|---|
committer | Marcus Müller <marcus@hostalia.de> | 2019-08-09 23:04:28 +0200 |
commit | f7bbf2c1d8d780294f3e016aff239ca35eb6516e (patch) | |
tree | e09ab6112e02b2215b2d59ac24d3d6ea2edac745 /gnuradio-runtime/include/gnuradio/logger.h | |
parent | 78431dc6941e3acc67c858277dfe4a0ed583643c (diff) |
Tree: clang-format without the include sorting
Diffstat (limited to 'gnuradio-runtime/include/gnuradio/logger.h')
-rw-r--r-- | gnuradio-runtime/include/gnuradio/logger.h | 997 |
1 files changed, 533 insertions, 464 deletions
diff --git a/gnuradio-runtime/include/gnuradio/logger.h b/gnuradio-runtime/include/gnuradio/logger.h index 7bb3521e3c..5c62ac2d78 100644 --- a/gnuradio-runtime/include/gnuradio/logger.h +++ b/gnuradio-runtime/include/gnuradio/logger.h @@ -24,10 +24,10 @@ #define INCLUDED_GR_LOGGER_H /*! -* \ingroup logging -* \brief GNU Radio logging wrapper for log4cpp library (C++ port of log4j) -* -*/ + * \ingroup logging + * \brief GNU Radio logging wrapper for log4cpp library (C++ port of log4j) + * + */ #ifdef _MSC_VER typedef int mode_t; @@ -52,231 +52,299 @@ typedef int mode_t; namespace gr { - /*! - * \brief GR_LOG macros - * \ingroup logging - * - * These macros wrap the standard LOG4CPP_LEVEL macros. The availablie macros - * are: - * LOG_DEBUG - * LOG_INFO - * LOG_WARN - * LOG_TRACE - * LOG_ERROR - * LOG_ALERT - * LOG_CRIT - * LOG_FATAL - * LOG_EMERG - */ - typedef log4cpp::Category* logger_ptr; +/*! + * \brief GR_LOG macros + * \ingroup logging + * + * These macros wrap the standard LOG4CPP_LEVEL macros. The availablie macros + * are: + * LOG_DEBUG + * LOG_INFO + * LOG_WARN + * LOG_TRACE + * LOG_ERROR + * LOG_ALERT + * LOG_CRIT + * LOG_FATAL + * LOG_EMERG + */ +typedef log4cpp::Category* logger_ptr; } /* namespace gr */ - /* Macros for Programmatic Configuration */ -#define GR_LOG_DECLARE_LOGPTR(logger) \ - gr::logger_ptr logger +/* Macros for Programmatic Configuration */ +#define GR_LOG_DECLARE_LOGPTR(logger) gr::logger_ptr logger -#define GR_LOG_ASSIGN_LOGPTR(logger,name) \ - logger = gr::logger_get_logger(name) +#define GR_LOG_ASSIGN_LOGPTR(logger, name) logger = gr::logger_get_logger(name) -#define GR_CONFIG_LOGGER(config) \ - gr::logger_config::load_config(config) +#define GR_CONFIG_LOGGER(config) gr::logger_config::load_config(config) -#define GR_CONFIG_AND_WATCH_LOGGER(config,period) \ - gr::logger_config::load_config(config,period) +#define GR_CONFIG_AND_WATCH_LOGGER(config, period) \ + gr::logger_config::load_config(config, period) -#define GR_LOG_GETLOGGER(logger, name) \ - gr::logger_ptr logger = gr::logger_get_logger(name) +#define GR_LOG_GETLOGGER(logger, name) gr::logger_ptr logger = gr::logger_get_logger(name) -#define GR_SET_LEVEL(name, level) { \ - gr::logger_ptr logger = gr::logger_get_logger(name); \ - gr::logger_set_level(logger,level);} +#define GR_SET_LEVEL(name, level) \ + { \ + gr::logger_ptr logger = gr::logger_get_logger(name); \ + gr::logger_set_level(logger, level); \ + } -#define GR_LOG_SET_LEVEL(logger, level) \ - gr::logger_set_level(logger, level) +#define GR_LOG_SET_LEVEL(logger, level) gr::logger_set_level(logger, level) -#define GR_GET_LEVEL(name, level) { \ - gr::logger_ptr logger = gr::logger_get_logger(name); \ - gr::logger_get_level(logger,level);} +#define GR_GET_LEVEL(name, level) \ + { \ + gr::logger_ptr logger = gr::logger_get_logger(name); \ + gr::logger_get_level(logger, level); \ + } -#define GR_LOG_GET_LEVEL(logger, level) \ - gr::logger_get_level(logger,level) +#define GR_LOG_GET_LEVEL(logger, level) gr::logger_get_level(logger, level) -#define GR_ADD_CONSOLE_APPENDER(name, target, pattern) { \ - gr::logger_ptr logger = gr::logger_get_logger(name); \ - gr::logger_add_console_appender(logger,target,pattern);} +#define GR_ADD_CONSOLE_APPENDER(name, target, pattern) \ + { \ + gr::logger_ptr logger = gr::logger_get_logger(name); \ + gr::logger_add_console_appender(logger, target, pattern); \ + } -#define GR_LOG_ADD_CONSOLE_APPENDER(logger, target, pattern) { \ - gr::logger_add_console_appender(logger,target,pattern);} +#define GR_LOG_ADD_CONSOLE_APPENDER(logger, target, pattern) \ + { \ + gr::logger_add_console_appender(logger, target, pattern); \ + } -#define GR_SET_CONSOLE_APPENDER(name, target, pattern) { \ - gr::logger_ptr logger = gr::logger_get_logger(name); \ - gr::logger_set_console_appender(logger,target,pattern);} +#define GR_SET_CONSOLE_APPENDER(name, target, pattern) \ + { \ + gr::logger_ptr logger = gr::logger_get_logger(name); \ + gr::logger_set_console_appender(logger, target, pattern); \ + } -#define GR_LOG_SET_CONSOLE_APPENDER(logger, target, pattern) { \ - gr::logger_set_console_appender(logger,target,pattern);} +#define GR_LOG_SET_CONSOLE_APPENDER(logger, target, pattern) \ + { \ + gr::logger_set_console_appender(logger, target, pattern); \ + } -#define GR_ADD_FILE_APPENDER(name, filename, append, pattern) { \ - gr::logger_ptr logger = gr::logger_get_logger(name); \ - gr::logger_add_file_appender(logger,filename,append,pattern);} +#define GR_ADD_FILE_APPENDER(name, filename, append, pattern) \ + { \ + gr::logger_ptr logger = gr::logger_get_logger(name); \ + gr::logger_add_file_appender(logger, filename, append, pattern); \ + } -#define GR_LOG_ADD_FILE_APPENDER(logger, filename, append, pattern) { \ - gr::logger_add_file_appender(logger,filename,append,pattern);} +#define GR_LOG_ADD_FILE_APPENDER(logger, filename, append, pattern) \ + { \ + gr::logger_add_file_appender(logger, filename, append, pattern); \ + } -#define GR_SET_FILE_APPENDER(name, filename, append, pattern) { \ - gr::logger_ptr logger = gr::logger_get_logger(name); \ - gr::logger_set_file_appender(logger,filename,append,pattern);} +#define GR_SET_FILE_APPENDER(name, filename, append, pattern) \ + { \ + gr::logger_ptr logger = gr::logger_get_logger(name); \ + gr::logger_set_file_appender(logger, filename, append, pattern); \ + } -#define GR_LOG_SET_FILE_APPENDER(logger, filename, append, pattern) { \ - gr::logger_set_file_appender(logger,filename,append,pattern);} +#define GR_LOG_SET_FILE_APPENDER(logger, filename, append, pattern) \ + { \ + gr::logger_set_file_appender(logger, filename, append, pattern); \ + } -#define GR_ADD_ROLLINGFILE_APPENDER(name, filename, filesize, bkup_index, append, mode, pattern) { \ - gr::logger_ptr logger = gr::logger_get_logger(name); \ - gr::logger_add_rollingfile_appender(logger,filename,filesize,bkup_index,append,mode,pattern);} +#define GR_ADD_ROLLINGFILE_APPENDER( \ + name, filename, filesize, bkup_index, append, mode, pattern) \ + { \ + gr::logger_ptr logger = gr::logger_get_logger(name); \ + gr::logger_add_rollingfile_appender( \ + logger, filename, filesize, bkup_index, append, mode, pattern); \ + } -#define GR_LOG_ADD_ROLLINGFILE_APPENDER(logger, filename, filesize, bkup_index, append, mode, pattern) { \ - gr::logger_add_rollingfile_appender(logger,filename,filesize,bkup_index,append,mode,pattern);} +#define GR_LOG_ADD_ROLLINGFILE_APPENDER( \ + logger, filename, filesize, bkup_index, append, mode, pattern) \ + { \ + gr::logger_add_rollingfile_appender( \ + logger, filename, filesize, bkup_index, append, mode, pattern); \ + } -#define GR_GET_LOGGER_NAMES(names) { \ - names = gr::logger_get_logger_names();} +#define GR_GET_LOGGER_NAMES(names) \ + { \ + names = gr::logger_get_logger_names(); \ + } -#define GR_RESET_CONFIGURATION() \ - gr::logger_config::reset_config(); +#define GR_RESET_CONFIGURATION() gr::logger_config::reset_config(); - /* Logger name referenced macros */ -#define GR_DEBUG(name, msg) { \ - gr::logger_ptr logger = gr::logger_get_logger(name); \ - *logger<< log4cpp::Priority::DEBUG << msg << log4cpp::eol;} +/* Logger name referenced macros */ +#define GR_DEBUG(name, msg) \ + { \ + gr::logger_ptr logger = gr::logger_get_logger(name); \ + *logger << log4cpp::Priority::DEBUG << msg << log4cpp::eol; \ + } -#define GR_INFO(name, msg) { \ - gr::logger_ptr logger = gr::logger_get_logger(name); \ - *logger<< log4cpp::Priority::INFO << msg << log4cpp::eol;} +#define GR_INFO(name, msg) \ + { \ + gr::logger_ptr logger = gr::logger_get_logger(name); \ + *logger << log4cpp::Priority::INFO << msg << log4cpp::eol; \ + } -#define GR_NOTICE(name, msg) { \ - gr::logger_ptr logger = gr::logger_get_logger(name); \ - *logger << log4cpp::Priority::NOTICE << msg;} +#define GR_NOTICE(name, msg) \ + { \ + gr::logger_ptr logger = gr::logger_get_logger(name); \ + *logger << log4cpp::Priority::NOTICE << msg; \ + } -#define GR_WARN(name, msg) { \ - gr::logger_ptr logger = gr::logger_get_logger(name); \ - *logger<< log4cpp::Priority::WARN << msg << log4cpp::eol;} +#define GR_WARN(name, msg) \ + { \ + gr::logger_ptr logger = gr::logger_get_logger(name); \ + *logger << log4cpp::Priority::WARN << msg << log4cpp::eol; \ + } -#define GR_ERROR(name, msg) { \ - gr::logger_ptr logger = gr::logger_get_logger(name); \ - *logger<< log4cpp::Priority::ERROR << msg << log4cpp::eol;} +#define GR_ERROR(name, msg) \ + { \ + gr::logger_ptr logger = gr::logger_get_logger(name); \ + *logger << log4cpp::Priority::ERROR << msg << log4cpp::eol; \ + } -#define GR_CRIT(name, msg) { \ - gr::logger_ptr logger = gr::logger_get_logger(name); \ - *logger<< log4cpp::Priority::CRIT << msg << log4cpp::eol;} +#define GR_CRIT(name, msg) \ + { \ + gr::logger_ptr logger = gr::logger_get_logger(name); \ + *logger << log4cpp::Priority::CRIT << msg << log4cpp::eol; \ + } -#define GR_ALERT(name, msg) { \ - gr::logger_ptr logger = gr::logger_get_logger(name); \ - *logger<< log4cpp::Priority::ALERT << msg << log4cpp::eol;} +#define GR_ALERT(name, msg) \ + { \ + gr::logger_ptr logger = gr::logger_get_logger(name); \ + *logger << log4cpp::Priority::ALERT << msg << log4cpp::eol; \ + } -#define GR_FATAL(name, msg) { \ - gr::logger_ptr logger = gr::logger_get_logger(name); \ - *logger<< log4cpp::Priority::FATAL << msg << log4cpp::eol;} +#define GR_FATAL(name, msg) \ + { \ + gr::logger_ptr logger = gr::logger_get_logger(name); \ + *logger << log4cpp::Priority::FATAL << msg << log4cpp::eol; \ + } -#define GR_EMERG(name, msg) { \ - gr::logger_ptr logger = gr::logger_get_logger(name); \ - *logger<< log4cpp::Priority::EMERG << msg << log4cpp::eol;} +#define GR_EMERG(name, msg) \ + { \ + gr::logger_ptr logger = gr::logger_get_logger(name); \ + *logger << log4cpp::Priority::EMERG << msg << log4cpp::eol; \ + } -#define GR_ERRORIF(name, cond, msg) { \ - if((cond)) { \ - gr::logger_ptr logger = gr::logger_get_logger(name); \ - *logger<< log4cpp::Priority::ERROR << msg << log4cpp::eol;} \ - } +#define GR_ERRORIF(name, cond, msg) \ + { \ + if ((cond)) { \ + gr::logger_ptr logger = gr::logger_get_logger(name); \ + *logger << log4cpp::Priority::ERROR << msg << log4cpp::eol; \ + } \ + } -#define GR_ASSERT(name, cond, msg) { \ - if(!(cond)) { \ - gr::logger_ptr logger = gr::logger_get_logger(name); \ - *logger<< log4cpp::Priority::EMERG << msg << log4cpp::eol;} \ - assert(0); \ - } +#define GR_ASSERT(name, cond, msg) \ + { \ + if (!(cond)) { \ + gr::logger_ptr logger = gr::logger_get_logger(name); \ + *logger << log4cpp::Priority::EMERG << msg << log4cpp::eol; \ + } \ + assert(0); \ + } - /* LoggerPtr Referenced Macros */ -#define GR_LOG_DEBUG(logger, msg) { \ - *logger << log4cpp::Priority::DEBUG << msg << log4cpp::eol;} +/* LoggerPtr Referenced Macros */ +#define GR_LOG_DEBUG(logger, msg) \ + { \ + *logger << log4cpp::Priority::DEBUG << msg << log4cpp::eol; \ + } -#define GR_LOG_INFO(logger, msg) { \ - *logger << log4cpp::Priority::INFO << msg << log4cpp::eol;} +#define GR_LOG_INFO(logger, msg) \ + { \ + *logger << log4cpp::Priority::INFO << msg << log4cpp::eol; \ + } -#define GR_LOG_NOTICE(logger, msg) { \ - *logger << log4cpp::Priority::NOTICE << msg << log4cpp::eol;} +#define GR_LOG_NOTICE(logger, msg) \ + { \ + *logger << log4cpp::Priority::NOTICE << msg << log4cpp::eol; \ + } -#define GR_LOG_WARN(logger, msg) { \ - *logger << log4cpp::Priority::WARN << msg << log4cpp::eol;} +#define GR_LOG_WARN(logger, msg) \ + { \ + *logger << log4cpp::Priority::WARN << msg << log4cpp::eol; \ + } -#define GR_LOG_ERROR(logger, msg) { \ - *logger << log4cpp::Priority::ERROR << msg << log4cpp::eol;} +#define GR_LOG_ERROR(logger, msg) \ + { \ + *logger << log4cpp::Priority::ERROR << msg << log4cpp::eol; \ + } -#define GR_LOG_CRIT(logger, msg) { \ - *logger << log4cpp::Priority::CRIT << msg << log4cpp::eol;} +#define GR_LOG_CRIT(logger, msg) \ + { \ + *logger << log4cpp::Priority::CRIT << msg << log4cpp::eol; \ + } -#define GR_LOG_ALERT(logger, msg) { \ - *logger << log4cpp::Priority::ALERT << msg << log4cpp::eol;} +#define GR_LOG_ALERT(logger, msg) \ + { \ + *logger << log4cpp::Priority::ALERT << msg << log4cpp::eol; \ + } -#define GR_LOG_FATAL(logger, msg) { \ - *logger << log4cpp::Priority::FATAL << msg << log4cpp::eol;} +#define GR_LOG_FATAL(logger, msg) \ + { \ + *logger << log4cpp::Priority::FATAL << msg << log4cpp::eol; \ + } -#define GR_LOG_EMERG(logger, msg) { \ - *logger << log4cpp::Priority::EMERG << msg << log4cpp::eol;} +#define GR_LOG_EMERG(logger, msg) \ + { \ + *logger << log4cpp::Priority::EMERG << msg << log4cpp::eol; \ + } -#define GR_LOG_ERRORIF(logger,cond, msg) { \ - if((cond)) { \ - *logger<< log4cpp::Priority::ERROR << msg << log4cpp::eol;} \ - } +#define GR_LOG_ERRORIF(logger, cond, msg) \ + { \ + if ((cond)) { \ + *logger << log4cpp::Priority::ERROR << msg << log4cpp::eol; \ + } \ + } -#define GR_LOG_ASSERT(logger, cond, msg) { \ - if(!(cond)) { \ - *logger<< log4cpp::Priority::EMERG << msg << log4cpp::eol; \ - assert(0);} \ - } +#define GR_LOG_ASSERT(logger, cond, msg) \ + { \ + if (!(cond)) { \ + *logger << log4cpp::Priority::EMERG << msg << log4cpp::eol; \ + assert(0); \ + } \ + } namespace gr { - /*! - * \brief Class to control configuration of logger. - * This is a singleton that can launch a thread to watch a config file for changes - * \ingroup logging - */ - class GR_RUNTIME_API logger_config - { - private: +/*! + * \brief Class to control configuration of logger. + * This is a singleton that can launch a thread to watch a config file for changes + * \ingroup logging + */ +class GR_RUNTIME_API logger_config +{ +private: /*! \brief filename of logger config file */ std::string filename; - /*! \brief Period (seconds) over which watcher thread checks config file for changes */ + /*! \brief Period (seconds) over which watcher thread checks config file for changes + */ unsigned int watch_period; /*! \brief Pointer to watch thread for config file changes */ - boost::thread *watch_thread; + boost::thread* watch_thread; /*! \brief Watcher thread method * /param filename Name of configuration file * /param watch_period Seconds between checks for changes in config file */ - static void watch_file(std::string filename,unsigned int watch_period); + static void watch_file(std::string filename, unsigned int watch_period); static bool logger_configured; - logger_config()/*: - rpc_get_filename("logger_config", "filename", &logger_config::get_filename4rpc, - pmt::mp(""), pmt::mp(""), pmt::mp(""), - "", "filename", RPC_PRIVLVL_MIN, - DISPTIME | DISPOPTSTRIP), - rpc_get_watchperiod("logger_config", "watch_period", &logger_config::get_watchperiod4rpc, - pmt::mp(0), pmt::mp(32768), pmt::mp(0), - "", "watch_period", RPC_PRIVLVL_MIN, - DISPTIME | DISPOPTSTRIP), - rpc_get_config("logger_config", "config", &logger_config::get_config4rpc, - pmt::mp(""), pmt::mp(""), pmt::mp(""), - "", "filename", RPC_PRIVLVL_MIN, - DISPTIME | DISPOPTSTRIP), - rpc_set_config("logger_config","config", &logger_config::set_config4rpc, - pmt::mp(""), pmt::mp(""), pmt::mp(""), - "", "filename", RPC_PRIVLVL_MIN, - DISPTIME | DISPOPTSTRIP) - */ + logger_config() /*: + rpc_get_filename("logger_config", "filename", &logger_config::get_filename4rpc, + pmt::mp(""), pmt::mp(""), pmt::mp(""), + "", "filename", RPC_PRIVLVL_MIN, + DISPTIME | DISPOPTSTRIP), + rpc_get_watchperiod("logger_config", "watch_period", + &logger_config::get_watchperiod4rpc, pmt::mp(0), pmt::mp(32768), pmt::mp(0), + "", "watch_period", RPC_PRIVLVL_MIN, + DISPTIME | DISPOPTSTRIP), + rpc_get_config("logger_config", "config", &logger_config::get_config4rpc, + pmt::mp(""), pmt::mp(""), pmt::mp(""), + "", "filename", RPC_PRIVLVL_MIN, + DISPTIME | DISPOPTSTRIP), + rpc_set_config("logger_config","config", &logger_config::set_config4rpc, + pmt::mp(""), pmt::mp(""), pmt::mp(""), + "", "filename", RPC_PRIVLVL_MIN, + DISPTIME | DISPOPTSTRIP) + */ { - } //!< Constructor + } //!< Constructor /* rpcbasic_register_get<logger_config,std::string> rpc_get_filename; @@ -285,31 +353,23 @@ namespace gr { rpcbasic_register_set<logger_config,std::string> rpc_set_config; */ - logger_config(logger_config const&); //!<Copy constructor - void operator=(logger_config const&); //!<Assignment Operator + logger_config(logger_config const&); //!< Copy constructor + void operator=(logger_config const&); //!< Assignment Operator - std::string get_filename4rpc() { - return filename; - } - int get_watchperiod4rpc(){return watch_period;}; + std::string get_filename4rpc() { return filename; } + int get_watchperiod4rpc() { return watch_period; }; - std::string get_config4rpc() { - return filename; - } + std::string get_config4rpc() { return filename; } - void set_config4rpc(std::string set) { - printf("Set string was:%s\n", set.c_str()); - } + void set_config4rpc(std::string set) { printf("Set string was:%s\n", set.c_str()); } /*! \brief destructor stops watch thread before exits */ - ~logger_config() { - stop_watch(); - } + ~logger_config() { stop_watch(); } /*! \brief Instance getter for singleton. Only used by class. */ static logger_config& get_instance(void); - public: +public: /*! \brief Getter for config filename */ static std::string get_filename(); /*! \brief Getter for watch period */ @@ -318,331 +378,339 @@ namespace gr { * /param filename Name of configuration file * /param watch_period Seconds between checks for changes in config file */ - static void load_config(std::string filename,unsigned int watch_period=0); + static void load_config(std::string filename, unsigned int watch_period = 0); /*! \brief Method to stop watcher thread */ static void stop_watch(); /*! \brief method to reset logger configuration */ static void reset_config(void); - }; - - /*! - * \brief Retrieve a pointer to a logger by name - * - * Retrieves a logger pointer - * \p name. - * - * \param name Name of the logger for which a pointer is requested - */ - GR_RUNTIME_API logger_ptr logger_get_logger(std::string name); - - /*! - * \brief Load logger's configuration file. - * - * Initialize the GNU Radio logger by loading the configuration file - * \p config_filename. - * - * \param config_filename The configuration file. Set to "" for the - * basic logger that outputs to the console. - */ - GR_RUNTIME_API bool logger_load_config(const std::string &config_filename=""); - - /*! - * \brief Reset logger's configuration file. - * - * Remove all appenders from loggers - */ - GR_RUNTIME_API void logger_reset_config(void); - - /*! - * \brief Set the logger's output level. - * - * Sets the level of the logger. This takes a string that is - * translated to the standard levels and can be (case insensitive): - * - * \li off , notset - * \li debug - * \li info - * \li notice - * \li warn - * \li error - * \li crit - * \li alert - * \li fatal - * \li emerg - * - * \param logger the logger to set the level of. - * \param level string to set the level to. - */ - GR_RUNTIME_API void logger_set_level(logger_ptr logger, - const std::string &level); - - /*! - * \brief Set the logger's output level. - * - * Sets the level of the logger. This takes the actual Log4cpp::Priority - * data type, which can be: - * - * \li log4cpp::Priority::NOTSET - * \li log4cpp::Priority::DEBUG - * \li log4cpp::Priority::INFO - * \li log4cpp::Priority::NOTICE - * \li log4cpp::Priority::WARN - * \li log4cpp::Priority::ERROR - * \li log4cpp::Priority::CRIT - * \li log4cpp::Priority::ALERT - * \li log4cpp::Priority::FATAL - * \li log4cpp::Priority::EMERG - * - * \param logger the logger to set the level of. - * \param level new logger level of type Log4cpp::Priority - */ - GR_RUNTIME_API void logger_set_level(logger_ptr logger, - log4cpp::Priority::Value level); - - /*! - * \brief Get the logger's output level. - * - * Gets the level of the logger. This returns a string that - * corresponds to the standard levels and can be (case insensitive): - * - * \li notset - * \li debug - * \li info - * \li notice - * \li warn - * \li error - * \li crit - * \li alert - * \li fatal - * \li emerg - * - * \param logger the logger to get the level of. - * \param level string to get the level into. - */ - GR_RUNTIME_API void logger_get_level(logger_ptr logger, std::string &level); - - /*! - * \brief Get the logger's output level. - * - * Gets the level of the logger. This returns the actual Log4cpp::Level - * data type, which can be: - * - * \li log4cpp::Priority::NOTSET - * \li log4cpp::Priority::DEBUG - * \li log4cpp::Priority::INFO - * \li log4cpp::Priority::NOTICE - * \li log4cpp::Priority::WARN - * \li log4cpp::Priority::ERROR - * \li log4cpp::Priority::CRIT - * \li log4cpp::Priority::ALERT - * \li log4cpp::Priority::FATAL - * \li log4cpp::Priority::EMERG - * - * \param logger the logger to get the level of. - * \param level of the logger. - */ - GR_RUNTIME_API void logger_get_level(logger_ptr logger, - log4cpp::Priority::Value &level); - - /*! - * \brief Add console appender to a given logger - * - * Add console appender to a given logger - * - * \param logger Logger to which appender will be added - * \param appender Name of appender to add to logger - */ - GR_RUNTIME_API void logger_add_appender(logger_ptr logger, - std::string appender); - - /*! - * \brief Sets a console appender to a given logger. Deletes any - * existing appenders and adds a new one. To add an additional - * appender, use logger_add_appender. - * - * \param logger Logger to which appender will be added - * \param appender Name of appender to add to logger - */ - GR_RUNTIME_API void logger_set_appender(logger_ptr logger, - std::string appender); - - /*! - * \brief Add console appender to a given logger - * - * Add console appender to a given logger - * - * \param logger Logger to which appender will be added - * \param target Std target to write 'cout' or 'cerr' (default is cout) - * \param pattern Formatting pattern for log messages - */ - GR_RUNTIME_API void logger_add_console_appender(logger_ptr logger, - std::string target, - std::string pattern); - - /*! - * \brief Sets a new console appender to a given logger after - * removing all others. Use logger_add_console_appender to add - * another. - * - * \param logger Logger to which appender will be added - * \param target Std target to write 'cout' or 'cerr' (default is cout) - * \param pattern Formatting pattern for log messages - */ - GR_RUNTIME_API void logger_set_console_appender(logger_ptr logger, - std::string target, - std::string pattern); - - /*! - * \brief Add file appender to a given logger - * - * Add file appender to a given logger - * - * \param logger Logger to which appender will be added - * \param filename File to which log will be written - * \param append Overwrite or append to log file - * \param pattern Formatting pattern for log messages - */ - GR_RUNTIME_API void logger_add_file_appender(logger_ptr logger, - std::string filename, - bool append, std::string pattern); - - /*! - * \brief Set a file appender to a given logger. To add another file - * appender, use logger_add_file_appender. - * - * \param logger Logger to which appender will be added - * \param filename File to which log will be written - * \param append Overwrite or append to log file - * \param pattern Formatting pattern for log messages - */ - GR_RUNTIME_API void logger_set_file_appender(logger_ptr logger, - std::string filename, - bool append, std::string pattern); - - /*! - * \brief Add rolling file appender to a given logger - * - * Add rolling file appender to a given logger - * - * \param logger Logger to which appender will be added - * \param filename File to which log will be written - * \param filesize Sizez of files to write - * \param bkup_index Number of files to write - * \param append Overwrite or append to log file - * \param mode Permissions to set on log file - * \param pattern Formatting pattern for log messages - */ - GR_RUNTIME_API void logger_add_rollingfile_appender(logger_ptr logger, std::string filename, - size_t filesize, int bkup_index, bool append, - mode_t mode,std::string pattern); - - /*! - * \brief Add rolling file appender to a given logger - * - * Add rolling file appender to a given logger - * - * \return vector of string names of loggers - */ - GR_RUNTIME_API std::vector<std::string> logger_get_logger_names(void); +}; + +/*! + * \brief Retrieve a pointer to a logger by name + * + * Retrieves a logger pointer + * \p name. + * + * \param name Name of the logger for which a pointer is requested + */ +GR_RUNTIME_API logger_ptr logger_get_logger(std::string name); + +/*! + * \brief Load logger's configuration file. + * + * Initialize the GNU Radio logger by loading the configuration file + * \p config_filename. + * + * \param config_filename The configuration file. Set to "" for the + * basic logger that outputs to the console. + */ +GR_RUNTIME_API bool logger_load_config(const std::string& config_filename = ""); + +/*! + * \brief Reset logger's configuration file. + * + * Remove all appenders from loggers + */ +GR_RUNTIME_API void logger_reset_config(void); + +/*! + * \brief Set the logger's output level. + * + * Sets the level of the logger. This takes a string that is + * translated to the standard levels and can be (case insensitive): + * + * \li off , notset + * \li debug + * \li info + * \li notice + * \li warn + * \li error + * \li crit + * \li alert + * \li fatal + * \li emerg + * + * \param logger the logger to set the level of. + * \param level string to set the level to. + */ +GR_RUNTIME_API void logger_set_level(logger_ptr logger, const std::string& level); + +/*! + * \brief Set the logger's output level. + * + * Sets the level of the logger. This takes the actual Log4cpp::Priority + * data type, which can be: + * + * \li log4cpp::Priority::NOTSET + * \li log4cpp::Priority::DEBUG + * \li log4cpp::Priority::INFO + * \li log4cpp::Priority::NOTICE + * \li log4cpp::Priority::WARN + * \li log4cpp::Priority::ERROR + * \li log4cpp::Priority::CRIT + * \li log4cpp::Priority::ALERT + * \li log4cpp::Priority::FATAL + * \li log4cpp::Priority::EMERG + * + * \param logger the logger to set the level of. + * \param level new logger level of type Log4cpp::Priority + */ +GR_RUNTIME_API void logger_set_level(logger_ptr logger, log4cpp::Priority::Value level); + +/*! + * \brief Get the logger's output level. + * + * Gets the level of the logger. This returns a string that + * corresponds to the standard levels and can be (case insensitive): + * + * \li notset + * \li debug + * \li info + * \li notice + * \li warn + * \li error + * \li crit + * \li alert + * \li fatal + * \li emerg + * + * \param logger the logger to get the level of. + * \param level string to get the level into. + */ +GR_RUNTIME_API void logger_get_level(logger_ptr logger, std::string& level); + +/*! + * \brief Get the logger's output level. + * + * Gets the level of the logger. This returns the actual Log4cpp::Level + * data type, which can be: + * + * \li log4cpp::Priority::NOTSET + * \li log4cpp::Priority::DEBUG + * \li log4cpp::Priority::INFO + * \li log4cpp::Priority::NOTICE + * \li log4cpp::Priority::WARN + * \li log4cpp::Priority::ERROR + * \li log4cpp::Priority::CRIT + * \li log4cpp::Priority::ALERT + * \li log4cpp::Priority::FATAL + * \li log4cpp::Priority::EMERG + * + * \param logger the logger to get the level of. + * \param level of the logger. + */ +GR_RUNTIME_API void logger_get_level(logger_ptr logger, log4cpp::Priority::Value& level); + +/*! + * \brief Add console appender to a given logger + * + * Add console appender to a given logger + * + * \param logger Logger to which appender will be added + * \param appender Name of appender to add to logger + */ +GR_RUNTIME_API void logger_add_appender(logger_ptr logger, std::string appender); + +/*! + * \brief Sets a console appender to a given logger. Deletes any + * existing appenders and adds a new one. To add an additional + * appender, use logger_add_appender. + * + * \param logger Logger to which appender will be added + * \param appender Name of appender to add to logger + */ +GR_RUNTIME_API void logger_set_appender(logger_ptr logger, std::string appender); + +/*! + * \brief Add console appender to a given logger + * + * Add console appender to a given logger + * + * \param logger Logger to which appender will be added + * \param target Std target to write 'cout' or 'cerr' (default is cout) + * \param pattern Formatting pattern for log messages + */ +GR_RUNTIME_API void +logger_add_console_appender(logger_ptr logger, std::string target, std::string pattern); + +/*! + * \brief Sets a new console appender to a given logger after + * removing all others. Use logger_add_console_appender to add + * another. + * + * \param logger Logger to which appender will be added + * \param target Std target to write 'cout' or 'cerr' (default is cout) + * \param pattern Formatting pattern for log messages + */ +GR_RUNTIME_API void +logger_set_console_appender(logger_ptr logger, std::string target, std::string pattern); + +/*! + * \brief Add file appender to a given logger + * + * Add file appender to a given logger + * + * \param logger Logger to which appender will be added + * \param filename File to which log will be written + * \param append Overwrite or append to log file + * \param pattern Formatting pattern for log messages + */ +GR_RUNTIME_API void logger_add_file_appender(logger_ptr logger, + std::string filename, + bool append, + std::string pattern); + +/*! + * \brief Set a file appender to a given logger. To add another file + * appender, use logger_add_file_appender. + * + * \param logger Logger to which appender will be added + * \param filename File to which log will be written + * \param append Overwrite or append to log file + * \param pattern Formatting pattern for log messages + */ +GR_RUNTIME_API void logger_set_file_appender(logger_ptr logger, + std::string filename, + bool append, + std::string pattern); + +/*! + * \brief Add rolling file appender to a given logger + * + * Add rolling file appender to a given logger + * + * \param logger Logger to which appender will be added + * \param filename File to which log will be written + * \param filesize Sizez of files to write + * \param bkup_index Number of files to write + * \param append Overwrite or append to log file + * \param mode Permissions to set on log file + * \param pattern Formatting pattern for log messages + */ +GR_RUNTIME_API void logger_add_rollingfile_appender(logger_ptr logger, + std::string filename, + size_t filesize, + int bkup_index, + bool append, + mode_t mode, + std::string pattern); + +/*! + * \brief Add rolling file appender to a given logger + * + * Add rolling file appender to a given logger + * + * \return vector of string names of loggers + */ +GR_RUNTIME_API std::vector<std::string> logger_get_logger_names(void); } /* namespace gr */ - // If Logger disable do nothing +// If Logger disable do nothing namespace gr { - /********************* Start Classes and Methods for Python ******************/ - /*! - * \brief Logger class for referencing loggers in python. Not - * needed in C++ (use macros) Wraps and manipulates loggers for - * python as python has no macros - * \ingroup logging - * - */ - class GR_RUNTIME_API logger - { - private: +/********************* Start Classes and Methods for Python ******************/ +/*! + * \brief Logger class for referencing loggers in python. Not + * needed in C++ (use macros) Wraps and manipulates loggers for + * python as python has no macros + * \ingroup logging + * + */ +class GR_RUNTIME_API logger +{ +private: /*! \brief logger pointer to logger associated wiith this wrapper class */ GR_LOG_DECLARE_LOGPTR(d_logger); - public: + +public: /*! * \brief constructor Provide name of logger to associate with this class * \param logger_name Name of logger associated with class */ - logger(std::string logger_name) { - GR_LOG_ASSIGN_LOGPTR(d_logger,logger_name); - }; + logger(std::string logger_name) { GR_LOG_ASSIGN_LOGPTR(d_logger, logger_name); }; /*! \brief Destructor */ - ~logger(){;} + ~logger() { ; } // Wrappers for logging macros /*! \brief inline function, wrapper to set the logger level */ - void set_level(std::string level){GR_LOG_SET_LEVEL(d_logger,level);} + void set_level(std::string level) { GR_LOG_SET_LEVEL(d_logger, level); } /*! \brief inline function, wrapper to get the logger level */ - void get_level(std::string &level){GR_LOG_GET_LEVEL(d_logger,level);} + void get_level(std::string& level) { GR_LOG_GET_LEVEL(d_logger, level); } /*! \brief inline function, wrapper for LOG4CPP_DEBUG for DEBUG message */ - void debug(std::string msg){GR_LOG_DEBUG(d_logger,msg);}; + void debug(std::string msg) { GR_LOG_DEBUG(d_logger, msg); }; /*! \brief inline function, wrapper for LOG4CPP_INFO for INFO message */ - void info(std::string msg){GR_LOG_INFO(d_logger,msg);} + void info(std::string msg) { GR_LOG_INFO(d_logger, msg); } /*! \brief inline function, wrapper for NOTICE message */ - void notice(std::string msg){GR_LOG_NOTICE(d_logger,msg);} + void notice(std::string msg) { GR_LOG_NOTICE(d_logger, msg); } /*! \brief inline function, wrapper for LOG4CPP_WARN for WARN message */ - void warn(std::string msg){GR_LOG_WARN(d_logger,msg);} + void warn(std::string msg) { GR_LOG_WARN(d_logger, msg); } /*! \brief inline function, wrapper for LOG4CPP_ERROR for ERROR message */ - void error(std::string msg){GR_LOG_ERROR(d_logger,msg);} + void error(std::string msg) { GR_LOG_ERROR(d_logger, msg); } /*! \brief inline function, wrapper for NOTICE message */ - void crit(std::string msg){GR_LOG_CRIT(d_logger,msg);} + void crit(std::string msg) { GR_LOG_CRIT(d_logger, msg); } /*! \brief inline function, wrapper for ALERT message */ - void alert(std::string msg){GR_LOG_ALERT(d_logger,msg);} + void alert(std::string msg) { GR_LOG_ALERT(d_logger, msg); } /*! \brief inline function, wrapper for FATAL message */ - void fatal(std::string msg){GR_LOG_FATAL(d_logger,msg);} + void fatal(std::string msg) { GR_LOG_FATAL(d_logger, msg); } /*! \brief inline function, wrapper for EMERG message */ - void emerg(std::string msg){GR_LOG_EMERG(d_logger,msg);} + void emerg(std::string msg) { GR_LOG_EMERG(d_logger, msg); } - /*! \brief inline function, wrapper for LOG4CPP_ASSERT for conditional ERROR message */ - void errorIF(bool cond,std::string msg){GR_LOG_ERRORIF(d_logger,cond,msg);} + /*! \brief inline function, wrapper for LOG4CPP_ASSERT for conditional ERROR message + */ + void errorIF(bool cond, std::string msg) { GR_LOG_ERRORIF(d_logger, cond, msg); } - /*! \brief inline function, wrapper for LOG4CPP_ASSERT for conditional ERROR message */ - void log_assert(bool cond,std::string msg){GR_LOG_ASSERT(d_logger,cond,msg);} + /*! \brief inline function, wrapper for LOG4CPP_ASSERT for conditional ERROR message + */ + void log_assert(bool cond, std::string msg) { GR_LOG_ASSERT(d_logger, cond, msg); } /*! \brief inline function, Method to add console appender to logger */ - void add_console_appender(std::string target,std::string pattern) { - GR_LOG_ADD_CONSOLE_APPENDER(d_logger, target, pattern); + void add_console_appender(std::string target, std::string pattern) + { + GR_LOG_ADD_CONSOLE_APPENDER(d_logger, target, pattern); } /*! \brief inline function, Method to set a console appender to logger */ - void set_console_appender(std::string target,std::string pattern) { - GR_LOG_SET_CONSOLE_APPENDER(d_logger, target, pattern); + void set_console_appender(std::string target, std::string pattern) + { + GR_LOG_SET_CONSOLE_APPENDER(d_logger, target, pattern); } /*! \brief inline function, Method to add file appender to logger */ - void add_file_appender(std::string filename, bool append, std::string pattern) { - GR_LOG_ADD_FILE_APPENDER(d_logger, filename, append, pattern); + void add_file_appender(std::string filename, bool append, std::string pattern) + { + GR_LOG_ADD_FILE_APPENDER(d_logger, filename, append, pattern); } /*! \brief inline function, Method to set a file appender to logger */ - void set_file_appender(std::string filename, bool append, std::string pattern) { - GR_LOG_SET_FILE_APPENDER(d_logger, filename, append, pattern); + void set_file_appender(std::string filename, bool append, std::string pattern) + { + GR_LOG_SET_FILE_APPENDER(d_logger, filename, append, pattern); } /*! \brief inline function, Method to add rolling file appender to logger */ - void add_rollingfile_appender(std::string filename, size_t filesize, - int bkup_index, bool append, mode_t mode, - std::string pattern) { - GR_LOG_ADD_ROLLINGFILE_APPENDER(d_logger,filename,filesize, - bkup_index,append,mode,pattern); + void add_rollingfile_appender(std::string filename, + size_t filesize, + int bkup_index, + bool append, + mode_t mode, + std::string pattern) + { + GR_LOG_ADD_ROLLINGFILE_APPENDER( + d_logger, filename, filesize, bkup_index, append, mode, pattern); } - }; +}; } /* namespace gr */ @@ -672,18 +740,19 @@ GR_RUNTIME_API void gr_logger_reset_config(void); namespace gr { - /*! - * Function to use the GR prefs files to get and setup the two - * default loggers defined there. The loggers are unique to the - * class in which they are called, and we pass it the \p name to - * identify where the log message originates from. For a GNU Radio - * block, we use 'alias()' for this value, and this is set up for us - * automatically in gr::block. - */ - GR_RUNTIME_API bool configure_default_loggers(gr::logger_ptr &l, gr::logger_ptr &d, - const std::string name); - - GR_RUNTIME_API bool update_logger_alias(const std::string &name, const std::string &alias); +/*! + * Function to use the GR prefs files to get and setup the two + * default loggers defined there. The loggers are unique to the + * class in which they are called, and we pass it the \p name to + * identify where the log message originates from. For a GNU Radio + * block, we use 'alias()' for this value, and this is set up for us + * automatically in gr::block. + */ +GR_RUNTIME_API bool +configure_default_loggers(gr::logger_ptr& l, gr::logger_ptr& d, const std::string name); + +GR_RUNTIME_API bool update_logger_alias(const std::string& name, + const std::string& alias); } /* namespace gr */ |