mod_log_rate/mod_log_rate.lua
author Kim Alvefur <zash@zash.se>
Thu, 09 Jun 2016 11:32:23 +0200
changeset 2206 217456783219
parent 1766 e6c7fe1be6cd
child 2247 f388747c53c7
permissions -rw-r--r--
mod_log_rate: Use moduleapi
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1766
e6c7fe1be6cd mod_log_rate: Log sink that reports the rate of log messages to statsmanager
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     1
module:set_global();
e6c7fe1be6cd mod_log_rate: Log sink that reports the rate of log messages to statsmanager
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     2
e6c7fe1be6cd mod_log_rate: Log sink that reports the rate of log messages to statsmanager
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     3
local function sink_maker(config)
e6c7fe1be6cd mod_log_rate: Log sink that reports the rate of log messages to statsmanager
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     4
	local levels = {
2206
217456783219 mod_log_rate: Use moduleapi
Kim Alvefur <zash@zash.se>
parents: 1766
diff changeset
     5
		debug = measure("log.debug", "rate");
217456783219 mod_log_rate: Use moduleapi
Kim Alvefur <zash@zash.se>
parents: 1766
diff changeset
     6
		info = measure("log.info", "rate");
217456783219 mod_log_rate: Use moduleapi
Kim Alvefur <zash@zash.se>
parents: 1766
diff changeset
     7
		warn = measure("log.warn", "rate");
217456783219 mod_log_rate: Use moduleapi
Kim Alvefur <zash@zash.se>
parents: 1766
diff changeset
     8
		error = measure("log.error", "rate");
1766
e6c7fe1be6cd mod_log_rate: Log sink that reports the rate of log messages to statsmanager
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     9
	};
e6c7fe1be6cd mod_log_rate: Log sink that reports the rate of log messages to statsmanager
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    10
	return function (_, level)
e6c7fe1be6cd mod_log_rate: Log sink that reports the rate of log messages to statsmanager
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    11
		return levels[level]();
e6c7fe1be6cd mod_log_rate: Log sink that reports the rate of log messages to statsmanager
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    12
	end
e6c7fe1be6cd mod_log_rate: Log sink that reports the rate of log messages to statsmanager
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    13
end
e6c7fe1be6cd mod_log_rate: Log sink that reports the rate of log messages to statsmanager
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    14
e6c7fe1be6cd mod_log_rate: Log sink that reports the rate of log messages to statsmanager
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    15
require"core.loggingmanager".register_sink_type("measure", sink_maker);