Mercurial Hosting > luan
comparison logging/src/luan/modules/logging/Logging.luan @ 503:92c3d22745b8
make _ENV optional
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Wed, 20 May 2015 23:24:46 -0600 |
parents | 0a75ed73bccc |
children | 9bf9ad733827 |
comparison
equal
deleted
inserted
replaced
502:d3183a330ff5 | 503:92c3d22745b8 |
---|---|
4 local ConsoleAppender = require "java:org.apache.log4j.ConsoleAppender" | 4 local ConsoleAppender = require "java:org.apache.log4j.ConsoleAppender" |
5 local Level = require "java:org.apache.log4j.Level" | 5 local Level = require "java:org.apache.log4j.Level" |
6 local RollingFileAppender = require "java:org.apache.log4j.RollingFileAppender" | 6 local RollingFileAppender = require "java:org.apache.log4j.RollingFileAppender" |
7 local LuanLogger = require "java:luan.modules.logging.LuanLogger" | 7 local LuanLogger = require "java:luan.modules.logging.LuanLogger" |
8 | 8 |
9 local M = {} | |
9 | 10 |
10 layout = "%d %-5p %c - %m%n" | 11 M.layout = "%d %-5p %c - %m%n" |
11 | 12 |
12 level = "INFO" | 13 M.level = "INFO" |
13 | 14 |
14 console = "System.err" -- or "System.out" or set to nil for no console | 15 M.console = "System.err" -- or "System.out" or set to nil for no console |
15 | 16 |
16 file = nil -- set to file name if you want logging to a file | 17 M.file = nil -- set to file name if you want logging to a file |
17 | 18 |
18 max_file_size = nil -- by default is "10MB" | 19 M.max_file_size = nil -- by default is "10MB" |
19 | 20 |
20 | 21 |
21 log4j_root_logger = Logger.getRootLogger() | 22 M.log4j_root_logger = Logger.getRootLogger() |
22 | 23 |
23 local function to_level(level) | 24 local function to_level(level) |
24 return level and Level.toLevel(level) | 25 return level and Level.toLevel(level) |
25 end | 26 end |
26 | 27 |
27 function log_to_file(file,logger_name) -- logger_name is optional, defaults to root logger | 28 function M.log_to_file(file,logger_name) -- logger_name is optional, defaults to root logger |
28 local appender = RollingFileAppender.new(ptn_layout, file) | 29 local appender = RollingFileAppender.new(M.ptn_layout, file) |
29 appender.setMaxFileSize(max_file_size) | 30 appender.setMaxFileSize(M.max_file_size) |
30 local logger = logger_name and Logger.getLogger(logger_name) or log4j_root_logger | 31 local logger = logger_name and Logger.getLogger(logger_name) or M.log4j_root_logger |
31 logger.addAppender(appender) | 32 logger.addAppender(appender) |
32 return appender | 33 return appender |
33 end | 34 end |
34 | 35 |
35 function init() | 36 function M.init() |
36 log4j_root_logger.removeAllAppenders() | 37 M.log4j_root_logger.removeAllAppenders() |
37 log4j_root_logger.setLevel( to_level(level) ) | 38 M.log4j_root_logger.setLevel( to_level(M.level) ) |
38 ptn_layout = EnhancedPatternLayout.new(layout) | 39 M.ptn_layout = EnhancedPatternLayout.new(M.layout) |
39 | 40 |
40 if console ~= nil then | 41 if M.console ~= nil then |
41 console_appender = ConsoleAppender.new(ptn_layout,console) | 42 M.console_appender = ConsoleAppender.new(M.ptn_layout,M.console) |
42 log4j_root_logger.addAppender(console_appender) | 43 M.log4j_root_logger.addAppender(M.console_appender) |
43 else | 44 else |
44 console_appender = nil | 45 M.console_appender = nil |
45 end | 46 end |
46 | 47 |
47 if file ~= nil then | 48 if M.file ~= nil then |
48 file_appender = log_to_file(file) | 49 M.file_appender = M.log_to_file(M.file) |
49 else | 50 else |
50 file_appender = nil | 51 M.file_appender = nil |
51 end | 52 end |
52 end | 53 end |
53 | 54 |
54 init() | 55 M.init() |
55 | 56 |
56 | 57 |
57 local function to_luan_logger(log4j_logger) | 58 local function to_luan_logger(log4j_logger) |
58 local tbl = {} | 59 local tbl = {} |
59 | 60 |
78 end | 79 end |
79 | 80 |
80 return tbl | 81 return tbl |
81 end | 82 end |
82 | 83 |
83 function logger(name) | 84 function M.logger(name) |
84 return to_luan_logger( Logger.getLogger(name) ) | 85 return to_luan_logger( Logger.getLogger(name) ) |
85 end | 86 end |
86 | 87 |
87 function root_logger() | 88 function M.root_logger() |
88 return to_luan_logger( Logger.getRootLogger() ) | 89 return to_luan_logger( Logger.getRootLogger() ) |
89 end | 90 end |
91 | |
92 return M |