diff options
Diffstat (limited to 'gnuradio-runtime/include/gnuradio/logger.h.in')
-rw-r--r-- | gnuradio-runtime/include/gnuradio/logger.h.in | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/gnuradio-runtime/include/gnuradio/logger.h.in b/gnuradio-runtime/include/gnuradio/logger.h.in index 073a6162fb..8e8cd2fb1e 100644 --- a/gnuradio-runtime/include/gnuradio/logger.h.in +++ b/gnuradio-runtime/include/gnuradio/logger.h.in @@ -76,10 +76,16 @@ namespace gr { #define GR_LOG_GET_LEVEL(logger, level) #define GR_ADD_APPENDER(name,appender) #define GR_LOG_ADD_APPENDER(logger,appender) +#define GR_SET_APPENDER(name,appender) +#define GR_LOG_SET_APPENDER(logger,appender) #define GR_ADD_CONSOLE_APPENDER(logger,target,pattern) #define GR_LOG_ADD_CONSOLE_APPENDER(logger,target,pattern) +#define GR_SET_CONSOLE_APPENDER(logger,target,pattern) +#define GR_LOG_SET_CONSOLE_APPENDER(logger,target,pattern) #define GR_ADD_FILE_APPENDER(name,filename,append,pattern) #define GR_LOG_ADD_FILE_APPENDER(logger,filename,append,pattern) +#define GR_SET_FILE_APPENDER(name,filename,append,pattern) +#define GR_LOG_SET_FILE_APPENDER(logger,filename,append,pattern) #define GR_ADD_ROLLINGFILE_APPENDER(name,filename,filesize,bkup_index,append,mode,pattern) #define GR_LOG_ADD_ROLLINGFILE_APPENDER(logger,filename,filesize,bkup_index,append,mode,pattern) #define GR_GET_LOGGER_NAMES(names) @@ -180,6 +186,13 @@ namespace gr { #define GR_LOG_ADD_APPENDER(logger, appender) { \ gr::logger_add_appender(logger, appender);} +#define GR_SET_APPENDER(name, appender) { \ + gr::logger_ptr logger = gr::logger_get_logger(name); \ + gr::logger_set_appender(logger,appender);} + +#define GR_LOG_SET_APPENDER(logger, appender) { \ + gr::logger_set_appender(logger, appender);} + #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);} @@ -187,6 +200,13 @@ namespace gr { #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_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);} @@ -194,6 +214,13 @@ namespace gr { #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_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);} @@ -520,6 +547,17 @@ namespace gr { 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 @@ -533,6 +571,19 @@ namespace gr { 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 Formating 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 @@ -547,6 +598,19 @@ namespace gr { 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 Formating 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 @@ -594,10 +658,16 @@ namespace gr { #define GR_LOG_GET_LEVEL(logger, level) #define GR_ADD_APPENDER(name,appender) #define GR_LOG_ADD_APPENDER(logger,appender) +#define GR_SET_APPENDER(name,appender) +#define GR_LOG_SET_APPENDER(logger,appender) #define GR_ADD_CONSOLE_APPENDER(logger,target,pattern) #define GR_LOG_ADD_CONSOLE_APPENDER(logger,target,pattern) +#define GR_SET_CONSOLE_APPENDER(logger,target,pattern) +#define GR_LOG_SET_CONSOLE_APPENDER(logger,target,pattern) #define GR_ADD_FILE_APPENDER(name,filename,append,pattern) #define GR_LOG_ADD_FILE_APPENDER(logger,filename,append,pattern) +#define GR_SET_FILE_APPENDER(name,filename,append,pattern) +#define GR_LOG_SET_FILE_APPENDER(logger,filename,append,pattern) #define GR_ADD_ROLLINGFILE_APPENDER(name,filename,filesize,bkup_index,append,mode,pattern) #define GR_LOG_ADD_ROLLINGFILE_APPENDER(logger,filename,filesize,bkup_index,append,mode,pattern) #define GR_GET_LOGGER_NAMES(names) @@ -703,16 +773,32 @@ namespace gr { GR_LOG_ADD_APPENDER(d_logger, appender); } + /*! \brief inline function, Method to set an appender to logger by + name (define appender in conf file) */ + void set_appender(std::string appender) { + GR_LOG_SET_APPENDER(d_logger, appender); + } + /*! \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); } + /*! \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); + } + /*! \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); } + /*! \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); + } + /*! \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, |