From c92f6a7b7f26d478c7d7d9ef4c4e93ee8fb79b5a Mon Sep 17 00:00:00 2001 From: Guldoman Date: Tue, 31 May 2022 02:26:18 +0200 Subject: [PATCH 1/3] Always show backtrace for `error` log entries --- data/core/init.lua | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/data/core/init.lua b/data/core/init.lua index 74471006..884c77bf 100644 --- a/data/core/init.lua +++ b/data/core/init.lua @@ -1056,7 +1056,7 @@ function core.get_views_referencing_doc(doc) end -local function log(level, show, fmt, ...) +function log(level, show, backtrace, fmt, ...) local text = string.format(fmt, ...) if show then local s = style.log[level] @@ -1069,7 +1069,8 @@ local function log(level, show, fmt, ...) level = level, text = text, time = os.time(), - at = at + at = at, + info = backtrace and debug.traceback(nil, 2):gsub("\t", "") } table.insert(core.log_items, item) if #core.log_items > config.max_log_items then @@ -1080,17 +1081,17 @@ end function core.log(...) - return log("INFO", true, ...) + return log("INFO", true, false, ...) end function core.log_quiet(...) - return log("INFO", false, ...) + return log("INFO", false, false, ...) end function core.error(...) - return log("ERROR", true, ...) + return log("ERROR", true, true, ...) end From db2d30caaff3864b20f497c7bc72823ba962b6da Mon Sep 17 00:00:00 2001 From: Guldoman Date: Tue, 31 May 2022 02:26:42 +0200 Subject: [PATCH 2/3] Add `warn` log level --- data/core/init.lua | 3 +++ data/core/style.lua | 1 + 2 files changed, 4 insertions(+) diff --git a/data/core/init.lua b/data/core/init.lua index 884c77bf..332ac915 100644 --- a/data/core/init.lua +++ b/data/core/init.lua @@ -1089,6 +1089,9 @@ function core.log_quiet(...) return log("INFO", false, false, ...) end +function core.warn(...) + return log("WARN", true, true, ...) +end function core.error(...) return log("ERROR", true, true, ...) diff --git a/data/core/style.lua b/data/core/style.lua index 70ad502c..7258eb16 100644 --- a/data/core/style.lua +++ b/data/core/style.lua @@ -76,6 +76,7 @@ style.syntax_fonts = {} style.log = { INFO = { icon = "i", color = style.text }, + WARN = { icon = "!", color = style.warn }, ERROR = { icon = "!", color = style.error } } From fae9af96bf1cd039acb89d8c28a2cecaa8aa20f7 Mon Sep 17 00:00:00 2001 From: Guldoman Date: Tue, 31 May 2022 02:35:56 +0200 Subject: [PATCH 3/3] Expose function to create custom log entries --- data/core/init.lua | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/data/core/init.lua b/data/core/init.lua index 332ac915..c0e2d477 100644 --- a/data/core/init.lua +++ b/data/core/init.lua @@ -1056,7 +1056,7 @@ function core.get_views_referencing_doc(doc) end -function log(level, show, backtrace, fmt, ...) +function core.custom_log(level, show, backtrace, fmt, ...) local text = string.format(fmt, ...) if show then local s = style.log[level] @@ -1081,20 +1081,20 @@ end function core.log(...) - return log("INFO", true, false, ...) + return core.custom_log("INFO", true, false, ...) end function core.log_quiet(...) - return log("INFO", false, false, ...) + return core.custom_log("INFO", false, false, ...) end function core.warn(...) - return log("WARN", true, true, ...) + return core.custom_log("WARN", true, true, ...) end function core.error(...) - return log("ERROR", true, true, ...) + return core.custom_log("ERROR", true, true, ...) end