Mercurial > prosody-hg
annotate plugins/mod_debug_sql.lua @ 10787:459efb1afbfe
mod_admin_telnet: Pretty-print values returned from commands
This makes it much nicer to inspect Prosody internals.
Existing textual status messages from commands are not serialized to
preserve existing behavior. Explicit serialization of configuration is
kept in order to make it clear that returned strings are serialized
strings that would look like what's actually in the config file.
The default maxdepth of 2 seems ought to be an okay default, balanced
between showing enough structure to continue exploring and DoS-ing your
terminal.
Thanks to Ge0rG for the motivation to finally do this.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Wed, 29 Apr 2020 22:23:05 +0200 |
| parents | 5edb0d01a94f |
| children |
| rev | line source |
|---|---|
|
7176
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 -- Enables SQL query logging |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 -- |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 -- luacheck: ignore 213/uri |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 |
|
8391
5edb0d01a94f
mod_debug_sql: Declare itself as global module
Kim Alvefur <zash@zash.se>
parents:
7176
diff
changeset
|
5 module:set_global(); |
|
5edb0d01a94f
mod_debug_sql: Declare itself as global module
Kim Alvefur <zash@zash.se>
parents:
7176
diff
changeset
|
6 |
|
7176
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 local engines = module:shared("/*/sql/connections"); |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 for uri, engine in pairs(engines) do |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 engine:debug(true); |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 end |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 setmetatable(engines, { |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
14 __newindex = function (t, uri, engine) |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 engine:debug(true); |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 rawset(t, uri, engine); |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 end |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 }); |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
20 function module.unload() |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
21 setmetatable(engines, nil); |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
22 for uri, engine in pairs(engines) do |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
23 engine:debug(false); |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
24 end |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
25 end |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
26 |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
27 |
