loggingmanager: Allow specifying a sink type in per-level logging config (thanks...
authorMatthew Wild <mwild1@gmail.com>
Sun, 13 Feb 2011 18:37:34 +0000 (18:37 +0000)
committerMatthew Wild <mwild1@gmail.com>
Sun, 13 Feb 2011 18:37:34 +0000 (18:37 +0000)
core/loggingmanager.lua

index be76681dd8ba217f1d218c33287cb37762897ec4..88f2bbbf506453d349427e2cb10de667ab2f200f 100644 (file)
@@ -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