Mercurial Hosting > luan
diff src/luan/host/Init.luan @ 1199:3995cbe5b00a
simplify logging
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Wed, 28 Feb 2018 23:21:03 -0700 |
parents | 94cf2576a922 |
children | 22228c12b6dd |
line wrap: on
line diff
--- a/src/luan/host/Init.luan Tue Feb 27 21:28:24 2018 -0700 +++ b/src/luan/host/Init.luan Wed Feb 28 23:21:03 2018 -0700 @@ -28,44 +28,34 @@ java() local Logger = require "java:org.apache.log4j.Logger" -local Logging = require "luan:logging/Logging.luan" +local Level = require "java:org.apache.log4j.Level" +local EnhancedPatternLayout = require "java:org.apache.log4j.EnhancedPatternLayout" +local RollingFileAppender = require "java:org.apache.log4j.RollingFileAppender" local root = gsub(domain,"\.",":") -Logging.layout = "%d %-5p %c{-1} - %m%n" -Logging.file = dir.."/site/private/local/logs/luan.log" -Logging.max_file_size = "1MB" -local one_mb = 1048576 - -local log_dir = dir.."/site/private/local/logs/" -Logging.appenders = { - [log_dir.."error.log"] = "ERROR" - [log_dir.."warn.log"] = "WARN" - [log_dir.."info.log"] = "INFO" -} +local logger = Logger.getLogger(root) +local has_appenders = logger.getAllAppenders().hasMoreElements() +if not has_appenders then + logger.setAdditivity(false) + local layout = EnhancedPatternLayout.new("%d %-5p %c{-1} - %m%n") + local log_dir = dir.."/site/private/local/logs/" -Logging.log4j_root_logger = Logger.getLogger(root) -Logging.log4j_root_logger.setAdditivity(false) - -local old_log_to_file = Logging.log_to_file + local function add_appender(file,level) + local appender = RollingFileAppender.new(layout, log_dir..file) + appender.setMaxFileSize("1MB") + logger.addAppender(appender) + if level ~= logger.getEffectiveLevel() then + appender.setThreshold(level) + end + end -function Logging.log_to_file(file,logger_name) - Io.schemes.file(file) -- security check - logger_name = logger_name and root .. "." .. logger_name - local appender = old_log_to_file(file,logger_name) - appender.getMaximumFileSize() <= one_mb or error "Logging.max_file_size is too big" - return appender + add_appender("error.log",Level.ERROR) + add_appender("warn.log",Level.WARN) + add_appender("info.log",Level.INFO) end -local old_init = Logging.init - -function Logging.init() - Logging.appenders["System.err"] = nil - Logging.appenders["System.out"] = nil - old_init() -end - -Logging.init() +local Logging = require "luan:logging/Logging.luan" local old_logger = Logging.logger