Mercurial Hosting > luan
view src/luan/modules/logging/Logging.luan @ 1199:3995cbe5b00a
simplify logging
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Wed, 28 Feb 2018 23:21:03 -0700 |
parents | 14ffce5bb894 |
children | 307e76ccd0d6 |
line wrap: on
line source
local Luan = require "luan:Luan.luan" local error = Luan.error java() local Logger = require "java:org.apache.log4j.Logger" local EnhancedPatternLayout = require "java:org.apache.log4j.EnhancedPatternLayout" local ConsoleAppender = require "java:org.apache.log4j.ConsoleAppender" local Level = require "java:org.apache.log4j.Level" local LuanLogger = require "java:luan.modules.logging.LuanLogger" local Logging = {} function Logging.init() local root = Logger.getRootLogger() local has_appenders = root.getAllAppenders().hasMoreElements() if has_appenders then return false end root.setLevel(Level.INFO) local layout = EnhancedPatternLayout.new("%d %-5p %c - %m%n") local appender = ConsoleAppender.new(layout,"System.err"); root.addAppender(appender); return true end local function to_luan_logger(log4j_logger) local tbl = {} local luanLogger = LuanLogger.new(log4j_logger) tbl.error = luanLogger.error tbl.warn = luanLogger.warn tbl.info = luanLogger.info tbl.debug = luanLogger.debug function tbl.get_level() local level = log4j_logger.getLevel() return level and level.toString() end function tbl.get_effective_level() local level = log4j_logger.getEffectiveLevel() return level and level.toString() end function tbl.set_level(level) log4j_logger.setLevel( Level.toLevel(level) ) end return tbl end function Logging.logger(name) return to_luan_logger( Logger.getLogger(name) ) end function Logging.root_logger() return to_luan_logger( Logger.getRootLogger() ) end return Logging