Mercurial Hosting > luan
comparison logging/src/luan/modules/logging/Logging.luan @ 205:3918f92de5fe
add logging component
git-svn-id: https://luan-java.googlecode.com/svn/trunk@206 21e917c8-12df-6dd8-5cb6-c86387c605b9
author | fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9> |
---|---|
date | Mon, 07 Jul 2014 09:37:02 +0000 |
parents | |
children | 5aafb5b9f70f |
comparison
equal
deleted
inserted
replaced
204:cee6581b6f56 | 205:3918f92de5fe |
---|---|
1 import "Java" | |
2 import "org.apache.log4j.Logger" | |
3 import "org.apache.log4j.EnhancedPatternLayout" | |
4 import "org.apache.log4j.ConsoleAppender" | |
5 import "org.apache.log4j.Level" | |
6 import "org.apache.log4j.RollingFileAppender" | |
7 | |
8 | |
9 layout = "%d %-5p %c - %m%n" | |
10 | |
11 level = "INFO" | |
12 | |
13 console = "System.err" -- or "System.out" or set to nil for no console | |
14 | |
15 file = nil -- set to file name if you want logging to a file | |
16 | |
17 max_file_size = "10MB" | |
18 | |
19 | |
20 log4j_root_logger = Logger.getRootLogger() | |
21 | |
22 local function to_level(level) | |
23 return level and Level.toLevel(level) | |
24 end | |
25 | |
26 function log_to_file(file) | |
27 local appender = RollingFileAppender.new(ptn_layout, file) | |
28 appender.setMaxFileSize(max_file_size) | |
29 print("getMaximumFileSize",appender.getMaximumFileSize()) | |
30 log4j_root_logger.addAppender(appender) | |
31 return appender | |
32 end | |
33 | |
34 function init() | |
35 log4j_root_logger.removeAllAppenders() | |
36 log4j_root_logger.setLevel( to_level(level) ) | |
37 ptn_layout = EnhancedPatternLayout.new(layout) | |
38 | |
39 if console ~= nil then | |
40 console_appender = ConsoleAppender.new(ptn_layout,console) | |
41 log4j_root_logger.addAppender(console_appender) | |
42 else | |
43 console_appender = nil | |
44 end | |
45 | |
46 if file ~= nil then | |
47 file_appender = log_to_file(file) | |
48 else | |
49 file_appender = nil | |
50 end | |
51 end | |
52 | |
53 init() | |
54 | |
55 | |
56 local function to_luan_logger(log4j_logger) | |
57 local tbl = {} | |
58 | |
59 function tbl.error(obj) | |
60 log4j_logger.error( to_string(obj) ) | |
61 end | |
62 | |
63 function tbl.warn(obj) | |
64 log4j_logger.warn( to_string(obj) ) | |
65 end | |
66 | |
67 function tbl.info(obj) | |
68 log4j_logger.info( to_string(obj) ) | |
69 end | |
70 | |
71 function tbl.debug(obj) | |
72 log4j_logger.debug( to_string(obj) ) | |
73 end | |
74 | |
75 function tbl.get_level() | |
76 local level = log4j_logger.getLevel() | |
77 return level and level.toString() | |
78 end | |
79 | |
80 function tbl.get_effective_level() | |
81 local level = log4j_logger.getEffectiveLevel() | |
82 return level and level.toString() | |
83 end | |
84 | |
85 function tbl.set_level(level) | |
86 log4j_logger.setLevel( to_level(level) ) | |
87 end | |
88 | |
89 return tbl | |
90 end | |
91 | |
92 function logger(name) | |
93 return to_luan_logger( Logger.getLogger(name) ) | |
94 end | |
95 | |
96 function root_logger() | |
97 return to_luan_logger( Logger.getRootLogger() ) | |
98 end |