comparison src/luan/host/Init.luan @ 1321:307e76ccd0d6

generalize separate logging
author Franklin Schmidt <fschmidt@gmail.com>
date Tue, 05 Feb 2019 22:36:55 -0700
parents 5763597ca5c0
children
comparison
equal deleted inserted replaced
1320:2c8d1d76a82a 1321:307e76ccd0d6
5 local gsub = String.gsub or error() 5 local gsub = String.gsub or error()
6 6
7 7
8 local Init = {} 8 local Init = {}
9 9
10 local dir, domain = ... 10 local dir, domain, logging = ...
11 11
12 12
13 -- logging 13 -- logging
14 14
15 java() 15 if logging then
16 local Logger = require "java:org.apache.log4j.Logger" 16 java()
17 local Level = require "java:org.apache.log4j.Level" 17 local LuanLogger = require "java:luan.modules.logging.LuanLogger"
18 local EnhancedPatternLayout = require "java:org.apache.log4j.EnhancedPatternLayout" 18 local Level = require "java:org.apache.log4j.Level"
19 local RollingFileAppender = require "java:org.apache.log4j.RollingFileAppender" 19 local EnhancedPatternLayout = require "java:org.apache.log4j.EnhancedPatternLayout"
20 20 local RollingFileAppender = require "java:org.apache.log4j.RollingFileAppender"
21 local root = gsub(domain,"\.",":") 21
22 22 local logger = LuanLogger.getRootLogger()
23 local logger = Logger.getLogger(root) 23 logger.removeAllAppenders()
24 local has_appenders = logger.getAllAppenders().hasMoreElements() 24 local layout = EnhancedPatternLayout.new("%d %-5p %c - %m%n")
25 if not has_appenders then
26 logger.setAdditivity(false)
27 local layout = EnhancedPatternLayout.new("%d %-5p %c{-1} - %m%n")
28 local log_dir = dir.."/site/private/local/logs/" 25 local log_dir = dir.."/site/private/local/logs/"
29 26
30 local function add_appender(file,level) 27 local function add_appender(file,level)
31 local appender = RollingFileAppender.new(layout, log_dir..file) 28 local appender = RollingFileAppender.new(layout, log_dir..file)
32 appender.setMaxFileSize("1MB") 29 appender.setMaxFileSize("1MB")
39 add_appender("error.log",Level.ERROR) 36 add_appender("error.log",Level.ERROR)
40 add_appender("warn.log",Level.WARN) 37 add_appender("warn.log",Level.WARN)
41 add_appender("info.log",Level.INFO) 38 add_appender("info.log",Level.INFO)
42 end 39 end
43 40
44 local Logging = require "luan:logging/Logging.luan"
45
46 local old_logger = Logging.logger
47 Logging.luanhost_logger = old_logger
48
49 function Logging.root_logger()
50 return old_logger(root)
51 end
52
53 function Logging.logger(name)
54 return old_logger( root .. "." .. name )
55 end
56
57 Init.logger_root = root.."."
58 41
59 42
60 -- set vars 43 -- set vars
61 44
62 local Io = require "luan:Io.luan" 45 local Io = require "luan:Io.luan"