Software /
code /
prosody-modules
Diff
mod_storage_xmlarchive/mod_storage_xmlarchive.lua @ 1726:160c35d2a5a2
mod_storage_xmlarchive: Improve logging of parse errors
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 11 May 2015 14:16:23 +0200 |
parent | 1690:8c0fbc685364 |
child | 1727:8f12afb633ec |
line wrap: on
line diff
--- a/mod_storage_xmlarchive/mod_storage_xmlarchive.lua Thu May 07 23:39:54 2015 +0200 +++ b/mod_storage_xmlarchive/mod_storage_xmlarchive.lua Mon May 11 14:16:23 2015 +0200 @@ -100,6 +100,7 @@ return function () if limit and count >= limit then xmlfile:close() return; end + local filename; for d = start_day, last_day, step do if d ~= start_day or not items then @@ -112,7 +113,8 @@ first_item, last_item = #items, 1; end local ferr; - xmlfile, ferr = io.open(dm.getpath(username .. "@" .. dates[d], module.host, self.store, "xml")); + filename = dm.getpath(username .. "@" .. dates[d], module.host, self.store, "xml"); + xmlfile, ferr = io.open(filename); if not xmlfile then module:log("error", "Error: %s", ferr); return; @@ -137,7 +139,7 @@ local data = xmlfile:read(item.length); local ok, err = stream:feed(data); if not ok then - module:log("warn", "Parse error: %s", err); + module:log("warn", "Parse error in %s at %d+%d: %s", filename, item.offset, item.length, err); end if result then local stanza = result;