Mercurial > prosody-hg
comparison core/loggingmanager.lua @ 4627:b046cafc81a8
loggingmanager, util.logger: Remove name sinks and the ability to filter logs by source name (lots of code, hardly used if at all, and possibly broken)
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Thu, 15 Mar 2012 19:09:24 +0000 |
| parents | ae71ae5ddcfc |
| children | 78a3d275715a |
comparison
equal
deleted
inserted
replaced
| 4626:9df9e87d0339 | 4627:b046cafc81a8 |
|---|---|
| 46 -- Put a rule into action. Requires that the sink type has already been registered. | 46 -- Put a rule into action. Requires that the sink type has already been registered. |
| 47 -- This function is called automatically when a new sink type is added [see apply_sink_rules()] | 47 -- This function is called automatically when a new sink type is added [see apply_sink_rules()] |
| 48 local function add_rule(sink_config) | 48 local function add_rule(sink_config) |
| 49 local sink_maker = log_sink_types[sink_config.to]; | 49 local sink_maker = log_sink_types[sink_config.to]; |
| 50 if sink_maker then | 50 if sink_maker then |
| 51 if sink_config.levels and not sink_config.source then | 51 -- Create sink |
| 52 -- Create sink | 52 local sink = sink_maker(sink_config); |
| 53 local sink = sink_maker(sink_config); | 53 |
| 54 | 54 -- Set sink for all chosen levels |
| 55 -- Set sink for all chosen levels | 55 for level in pairs(get_levels(sink_config.levels or logging_levels)) do |
| 56 for level in pairs(get_levels(sink_config.levels)) do | 56 logger.add_level_sink(level, sink); |
| 57 logger.add_level_sink(level, sink); | |
| 58 end | |
| 59 elseif sink_config.source and not sink_config.levels then | |
| 60 logger.add_name_sink(sink_config.source, sink_maker(sink_config)); | |
| 61 elseif sink_config.source and sink_config.levels then | |
| 62 local levels = get_levels(sink_config.levels); | |
| 63 local sink = sink_maker(sink_config); | |
| 64 logger.add_name_sink(sink_config.source, | |
| 65 function (name, level, ...) | |
| 66 if levels[level] then | |
| 67 return sink(name, level, ...); | |
| 68 end | |
| 69 end); | |
| 70 else | |
| 71 -- All sources | |
| 72 -- Create sink | |
| 73 local sink = sink_maker(sink_config); | |
| 74 | |
| 75 -- Set sink for all levels | |
| 76 for _, level in pairs(logging_levels) do | |
| 77 logger.add_level_sink(level, sink); | |
| 78 end | |
| 79 end | 57 end |
| 80 else | 58 else |
| 81 -- No such sink type | 59 -- No such sink type |
| 82 end | 60 end |
| 83 end | 61 end |
