aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2011-02-13 18:37:34 +0000
committerMatthew Wild <mwild1@gmail.com>2011-02-13 18:37:34 +0000
commit31faa98f1425903ce76e85a16ada833e3f1da2a0 (patch)
treee5dde5e0aa68ee1ec5f5ad86335f7209cf10a17c
parent0f0601ab2dab456fa337f43fd26403cb7f04c5d2 (diff)
downloadprosody-31faa98f1425903ce76e85a16ada833e3f1da2a0.tar.gz
prosody-31faa98f1425903ce76e85a16ada833e3f1da2a0.zip
loggingmanager: Allow specifying a sink type in per-level logging config (thanks ruskie)
-rw-r--r--core/loggingmanager.lua20
1 files changed, 13 insertions, 7 deletions
diff --git a/core/loggingmanager.lua b/core/loggingmanager.lua
index be76681d..88f2bbbf 100644
--- a/core/loggingmanager.lua
+++ b/core/loggingmanager.lua
@@ -88,14 +88,20 @@ end
function apply_sink_rules(sink_type)
if type(logging_config) == "table" then
- if sink_type == "file" then
- for _, level in ipairs(logging_levels) do
- if type(logging_config[level]) == "string" then
+ for _, level in ipairs(logging_levels) do
+ if type(logging_config[level]) == "string" then
+ local value = logging_config[level];
+ if sink_type == "file" then
+ add_rule({
+ to = sink_type;
+ filename = value;
+ timestamps = true;
+ levels = { min = level };
+ });
+ elseif value == "*"..sink_type then
add_rule({
- to = "file",
- filename = logging_config[level],
- timestamps = true,
- levels = { min = level },
+ to = sink_type;
+ levels = { min = level };
});
end
end