Mercurial Hosting > luan
view src/luan/modules/logging/Logging.luan @ 1321:307e76ccd0d6
generalize separate logging
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Tue, 05 Feb 2019 22:36:55 -0700 |
parents | 3995cbe5b00a |
children | 11b7e11f9ed5 |
line wrap: on
line source
local Luan = require "luan:Luan.luan" local error = Luan.error java() 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_root() local root = LuanLogger.getRootLogger() local has_appenders = root.getAllAppenders().hasMoreElements() if not has_appenders then root.setLevel(Level.INFO) local layout = EnhancedPatternLayout.new("%d %-5p %c - %m%n") local appender = ConsoleAppender.new(layout,"System.err"); root.addAppender(appender); end end Logging.init_root() 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( LuanLogger.getLogger(name) ) end function Logging.root_logger() return to_luan_logger( LuanLogger.getRootLogger() ) end return Logging