summaryrefslogtreecommitdiff
path: root/src/hook_manager.cc
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2015-11-19 21:58:26 +0000
committerMaxime Coste <frrrwww@gmail.com>2015-11-19 21:58:26 +0000
commitc0f1b7b99f6b882e9622f41e1ff05f927210ce90 (patch)
treed72affe9da79800b5e6686d1f558a5823c5b9c8e /src/hook_manager.cc
parentb67d593551b21547630bbd08372278c36d14f413 (diff)
Introduce a debug flags option to control some tracing
Support shell|hooks and write traces in debug buffer
Diffstat (limited to 'src/hook_manager.cc')
-rw-r--r--src/hook_manager.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/hook_manager.cc b/src/hook_manager.cc
index 49a09f3b..1dda5043 100644
--- a/src/hook_manager.cc
+++ b/src/hook_manager.cc
@@ -49,6 +49,8 @@ void HookManager::run_hook(StringView hook_name,
if (hook_list_it == m_hook.end())
return;
+ const bool trace = context.options()["debug"].get<DebugFlags>() & DebugFlags::Hooks;
+
auto& disabled_hooks = context.options()["disabled_hooks"].get<Regex>();
bool hook_error = false;
for (auto& hook : hook_list_it->value)
@@ -59,6 +61,9 @@ void HookManager::run_hook(StringView hook_name,
try
{
+ if (trace)
+ write_to_debug_buffer(format("hook {}/{}", hook_name, hook.key));
+
hook.value(param, context);
}
catch (runtime_error& err)