aboutsummaryrefslogtreecommitdiffstats
path: root/logger.moon
diff options
context:
space:
mode:
Diffstat (limited to 'logger.moon')
-rw-r--r--logger.moon12
1 files changed, 10 insertions, 2 deletions
diff --git a/logger.moon b/logger.moon
index e660289..c1ac02d 100644
--- a/logger.moon
+++ b/logger.moon
@@ -19,9 +19,17 @@ class Logger
for name, level in pairs levels
@[name] = (first, ...) =>
return unless @level <= level
+
where = debug.traceback nil, 2
- where = where\match '^.*\n%s+([%w:/%.]+): '
- print "[#{where}]#{@prefix}#{first}", ...
+ line = where\match '^.-\n%s+([%w:/%.]+): '
+ line = line\match '[%./]*(.*)'
+ line ..= string.rep ' ', 20-#line
+
+ if level == levels.error or @level == levels.debug
+ print "[#{line}]#{@prefix}#{first}", ...
+ print where
+ else
+ print "[#{line}]#{@prefix}#{first}", ...
if level == levels.print
@push = (fn, ...) => fn ...