Mercurial > prosody-hg
comparison core/loggingmanager.lua @ 3514:fdae08713c67
core.loggingmanager: Logging config simplification - allow [level] = filename and *sink to appear in the config table
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Fri, 08 Oct 2010 02:48:47 +0100 |
| parents | 9a8b716fda14 |
| children | bc139431830b |
comparison
equal
deleted
inserted
replaced
| 3513:4cf5962747fc | 3514:fdae08713c67 |
|---|---|
| 87 -- Search for all rules using a particular sink type, and apply | 87 -- Search for all rules using a particular sink type, and apply |
| 88 -- them. Called automatically when a new sink type is added to | 88 -- them. Called automatically when a new sink type is added to |
| 89 -- the log_sink_types table. | 89 -- the log_sink_types table. |
| 90 function apply_sink_rules(sink_type) | 90 function apply_sink_rules(sink_type) |
| 91 if type(logging_config) == "table" then | 91 if type(logging_config) == "table" then |
| 92 | |
| 93 if sink_type == "file" then | |
| 94 for _, level in ipairs(logging_levels) do | |
| 95 if type(logging_config[level]) == "string" then | |
| 96 add_rule({ | |
| 97 to = "file", | |
| 98 filename = logging_config[level], | |
| 99 timestamps = true, | |
| 100 levels = { min = level }, | |
| 101 }); | |
| 102 end | |
| 103 end | |
| 104 end | |
| 105 | |
| 92 for _, sink_config in pairs(logging_config) do | 106 for _, sink_config in pairs(logging_config) do |
| 93 if sink_config.to == sink_type then | 107 if (type(sink_config) == "table" and sink_config.to == sink_type) then |
| 94 add_rule(sink_config); | 108 add_rule(sink_config); |
| 109 elseif (type(sink_config) == "string" and sink_config:match("^%*(.+)") == sink_type) then | |
| 110 add_rule({ levels = { min = "debug" }, to = sink_type }); | |
| 95 end | 111 end |
| 96 end | 112 end |
| 97 elseif type(logging_config) == "string" and (not logging_config:match("^%*")) and sink_type == "file" then | 113 elseif type(logging_config) == "string" and (not logging_config:match("^%*")) and sink_type == "file" then |
| 98 -- User specified simply a filename, and the "file" sink type | 114 -- User specified simply a filename, and the "file" sink type |
| 99 -- was just added | 115 -- was just added |
| 149 end | 165 end |
| 150 | 166 |
| 151 logger.reset(); | 167 logger.reset(); |
| 152 | 168 |
| 153 default_logging = { { to = "console" , levels = { min = (debug_mode and "debug") or "info" } } }; | 169 default_logging = { { to = "console" , levels = { min = (debug_mode and "debug") or "info" } } }; |
| 154 default_file_logging = { { to = "file", levels = { min = (debug_mode and "debug") or "info" }, timestamps = true } }; | 170 default_file_logging = { |
| 171 { to = "file", levels = { min = (debug_mode and "debug") or "info" }, timestamps = true } | |
| 172 }; | |
| 155 default_timestamp = "%b %d %H:%M:%S"; | 173 default_timestamp = "%b %d %H:%M:%S"; |
| 156 | 174 |
| 157 logging_config = config.get("*", "core", "log") or default_logging; | 175 logging_config = config.get("*", "core", "log") or default_logging; |
| 158 | 176 |
| 159 | 177 |
