Software /
code /
prosody
Changeset
13745:994ea8d54b72 13.0
core.configmanager: Pass name and line number in context
Delays the string interpolation until the warning is logged, which may
slightly lower memory usage.
Allows retrieving the filename and line number easily.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 22 Feb 2025 00:04:51 +0100 |
parents | 13744:34ac05f6bd10 |
children | 13746:3d58ea9c5356 13747:c25ab2f47876 |
files | core/configmanager.lua |
diffstat | 1 files changed, 4 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/core/configmanager.lua Sat Feb 22 00:08:18 2025 +0100 +++ b/core/configmanager.lua Sat Feb 22 00:04:51 2025 +0100 @@ -48,7 +48,7 @@ function _M.get(host, key) local v = config[host][key]; if v and errors.is_error(v) then - log("warn", "%s", v.text); + log("warn", "%s:%d: %s", v.context.filename, v.context.fileline, v.text); return nil; end return v; @@ -376,10 +376,9 @@ else env.Credential = function() return errors.new({ - type = "continue", - text = ("%s:%d: Credential() requires the $CREDENTIALS_DIRECTORY environment variable to be set") - :format(config_file, get_line_number(config_file)); - }); + type = "continue"; + text = "Credential() requires the $CREDENTIALS_DIRECTORY environment variable to be set"; + }, { filename = config_file; fileline = get_line_number(config_file) }); end end