diff options
author | Kevin P. Fleming <kpfleming@digium.com> | 2009-05-15 13:13:47 +0000 |
---|---|---|
committer | Kevin P. Fleming <kpfleming@digium.com> | 2009-05-15 13:13:47 +0000 |
commit | d1e0b113433ec90a9b6057b3b425a9ad67e57a0a (patch) | |
tree | c4f01d8983a472d07f7be0a186947c05f37aefc7 /include | |
parent | 78b84effe386112c7860de862951acfd38a963b5 (diff) |
Add ability for modules to dynamically register logger levels
This patch adds the ability for modules to dynamically create logger levels for their own use; these are named levels just like the built-in levels, and can be directed to any destination that the logger can send any level to, by including their names in logger.conf.
Review: https://reviewboard.asterisk.org/r/244/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@194610 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'include')
-rw-r--r-- | include/asterisk/logger.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/include/asterisk/logger.h b/include/asterisk/logger.h index 785c3e8de..4f6dfc4e9 100644 --- a/include/asterisk/logger.h +++ b/include/asterisk/logger.h @@ -195,6 +195,37 @@ unsigned int ast_debug_get_by_file(const char *file); unsigned int ast_verbose_get_by_file(const char *file); /*! + * \brief Register a new logger level + * \param name The name of the level to be registered + * \retval -1 if an error occurs + * \retval non-zero level to be used with ast_log for sending messages to this level + * \since 1.6.3 + */ +int ast_logger_register_level(const char *name); + +/*! + * \brief Unregister a previously registered logger level + * \param name The name of the level to be unregistered + * \return nothing + * \since 1.6.3 + */ +void ast_logger_unregister_level(const char *name); + +/*! + * \brief Send a log message to a dynamically registered log level + * \param level The log level to send the message to + * + * Like ast_log, the log message may include printf-style formats, and + * the data for these must be provided as additional parameters after + * the log message. + * + * \return nothing + * \since 1.6.3 + */ + +#define ast_log_dynamic_level(level, ...) ast_log(level, __FILE__, __LINE__, __PRETTY_FUNCTION__, __VA_ARGS__) + +/*! * \brief Log a DEBUG message * \param level The minimum value of option_debug for this message * to get logged |