Mercurial > prosody-modules
annotate mod_log_rate/mod_log_rate.lua @ 4249:64aa1d9d70ac
mod_rest: Catch and log errors in callback promise chain
From the code it looks like it should be possible to reply to an error
stanza, but it did not. Turns out I was saved by my local developer mode
module which throws errors if an attempt is made to create an errror
reply to an error stanza. However nothing collects this error from the
promise, so all I got was confusion.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 15 Nov 2020 16:25:49 +0100 |
parents | f388747c53c7 |
children |
rev | line source |
---|---|
1762
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 = { |
2243
f388747c53c7
mod_log_rate: Fix to actually use module methods
Kim Alvefur <zash@zash.se>
parents:
2202
diff
changeset
|
5 debug = module:measure("log.debug", "rate"); |
f388747c53c7
mod_log_rate: Fix to actually use module methods
Kim Alvefur <zash@zash.se>
parents:
2202
diff
changeset
|
6 info = module:measure("log.info", "rate"); |
f388747c53c7
mod_log_rate: Fix to actually use module methods
Kim Alvefur <zash@zash.se>
parents:
2202
diff
changeset
|
7 warn = module:measure("log.warn", "rate"); |
f388747c53c7
mod_log_rate: Fix to actually use module methods
Kim Alvefur <zash@zash.se>
parents:
2202
diff
changeset
|
8 error = module:measure("log.error", "rate"); |
1762
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); |