aboutsummaryrefslogtreecommitdiffstats
path: root/logger.moon
diff options
context:
space:
mode:
authors-ol <s-ol@users.noreply.github.com>2020-04-13 18:40:35 +0000
committers-ol <s-ol@users.noreply.github.com>2020-04-14 08:46:54 +0000
commit1a8debe87762072b3a63b769aa515ebf63b4c70d (patch)
tree33b42866307d11d2c0878b23e0ec0bb8925d3fcc /logger.moon
parentspec base.match __tostring (diff)
downloadalive-1a8debe87762072b3a63b769aa515ebf63b4c70d.tar.gz
alive-1a8debe87762072b3a63b769aa515ebf63b4c70d.zip
move into proper Lua module (`alv`)
Diffstat (limited to 'logger.moon')
-rw-r--r--logger.moon63
1 files changed, 0 insertions, 63 deletions
diff --git a/logger.moon b/logger.moon
deleted file mode 100644
index cd41cc8..0000000
--- a/logger.moon
+++ /dev/null
@@ -1,63 +0,0 @@
-unpack or= table.unpack
-
-class Logger
- levels = {
- debug: 0
- trace: 1
- log: 2
- warn: 3
- error: 4
- print: 5
- silent: 6
- }
-
- mklog = (max_level) ->
- new: (level='log') =>
- @level = levels[level] or level
- @prefix = ''
-
- for name, level in pairs levels
- @[name] = (first, ...) =>
- return unless @level <= level
-
- where = debug.traceback '', 2
- if level == levels.error or @level == levels.debug
- print @prefix .. first, ...
- print where
- else
- print @prefix .. first, ...
-
- if level == levels.print
- @push = (fn, ...) => fn ...
-
- push: (fn, ...) =>
- last = @prefix
- @prefix ..= ' '
-
- res = { xpcall fn, debug.traceback, ... }
-
- @prefix = last
-
- if ok = table.remove res, 1
- unpack res
- else
- error unpack res
-
- try: (msg, fn, ...) =>
- result = { xpcall fn, debug.traceback, ... }
- ok = table.remove result, 1
-
- if not ok
- @error msg, unpack result
- return
-
- unpack result
-
--- static
- init: (...) ->
- export L
- L = Logger ...
-
-{
- :Logger
-}