[Asterisk-code-review] logger: Bring back ability to turn debug on by source file (asterisk[13])
George Joseph
asteriskteam at digium.com
Wed Sep 27 13:50:55 CDT 2017
George Joseph has uploaded this change for review. ( https://gerrit.asterisk.org/6618
Change subject: logger: Bring back ability to turn debug on by source file
......................................................................
logger: Bring back ability to turn debug on by source file
Somewhere along the way we lost the ability to debug individual
source files. For modules, this wasn't a big deal but all the
source files in ./main are in the one "core" module so debugging
individual core capabilities was almost impossible.
* Added a new function "ast_debug_get_by_file" to logger.h/cli.c
which gets the debug level for a specific sourfe file. You can now
do a "core set debug 3 bridge_channel.c" for instance, and only turn
debugging on for that since source file. This isn't limited to
source files in ./main. Any source file works so you could also do
"core set debug 3 pjsip_message_filter.c".
Change-Id: Icc0af41837f3b1679dec7af21fa32cd1f7469f6e
---
M include/asterisk/logger.h
M main/cli.c
2 files changed, 29 insertions(+), 1 deletion(-)
git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/18/6618/1
diff --git a/include/asterisk/logger.h b/include/asterisk/logger.h
index 1a2bf90..20a6b01 100644
--- a/include/asterisk/logger.h
+++ b/include/asterisk/logger.h
@@ -296,6 +296,16 @@
unsigned int ast_debug_get_by_module(const char *module);
/*!
+ * \brief Get the debug level for a source file
+ * \since 13.18.0
+ * \since 14.7.0
+ * \since 15.1.0
+ * \param file the name of source file
+ * \return the debug level
+ */
+unsigned int ast_debug_get_by_file(const char *file);
+
+/*!
* \brief Get the verbose level for a module
* \param module the name of module
* \return the verbose level
@@ -447,7 +457,8 @@
#define DEBUG_ATLEAST(level) \
(option_debug >= (level) \
- || (ast_opt_dbg_module && (int)ast_debug_get_by_module(AST_MODULE) >= (level)))
+ || (ast_opt_dbg_module && ((int)ast_debug_get_by_module(AST_MODULE) >= (level) \
+ || (int)ast_debug_get_by_file(__FILE__) >= (level))))
/*!
* \brief Log a DEBUG message
diff --git a/main/cli.c b/main/cli.c
index e9ed709..cbde73f 100644
--- a/main/cli.c
+++ b/main/cli.c
@@ -151,6 +151,23 @@
return res;
}
+unsigned int ast_debug_get_by_file(const char *file)
+{
+ struct module_level *ml;
+ unsigned int res = 0;
+
+ AST_RWLIST_RDLOCK(&debug_modules);
+ AST_LIST_TRAVERSE(&debug_modules, ml, entry) {
+ if (!strcasecmp(ml->module, file)) {
+ res = ml->level;
+ break;
+ }
+ }
+ AST_RWLIST_UNLOCK(&debug_modules);
+
+ return res;
+}
+
unsigned int ast_verbose_get_by_module(const char *module)
{
return 0;
--
To view, visit https://gerrit.asterisk.org/6618
To unsubscribe, visit https://gerrit.asterisk.org/settings
Gerrit-Project: asterisk
Gerrit-Branch: 13
Gerrit-MessageType: newchange
Gerrit-Change-Id: Icc0af41837f3b1679dec7af21fa32cd1f7469f6e
Gerrit-Change-Number: 6618
Gerrit-PatchSet: 1
Gerrit-Owner: George Joseph <gjoseph at digium.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20170927/51df7853/attachment.html>
More information about the asterisk-code-review
mailing list