annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1101
14ffce5bb894 make logging more flexible
Franklin Schmidt <fschmidt@gmail.com>
parents: 1088
diff changeset
1 local Luan = require "luan:Luan.luan"
14ffce5bb894 make logging more flexible
Franklin Schmidt <fschmidt@gmail.com>
parents: 1088
diff changeset
2 local error = Luan.error
321
7f7708e8fdd4 remove import statement
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 320
diff changeset
3 java()
7f7708e8fdd4 remove import statement
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 320
diff changeset
4 local EnhancedPatternLayout = require "java:org.apache.log4j.EnhancedPatternLayout"
7f7708e8fdd4 remove import statement
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 320
diff changeset
5 local ConsoleAppender = require "java:org.apache.log4j.ConsoleAppender"
7f7708e8fdd4 remove import statement
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 320
diff changeset
6 local Level = require "java:org.apache.log4j.Level"
376
0a75ed73bccc partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents: 374
diff changeset
7 local LuanLogger = require "java:luan.modules.logging.LuanLogger"
205
3918f92de5fe add logging component
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
8
1101
14ffce5bb894 make logging more flexible
Franklin Schmidt <fschmidt@gmail.com>
parents: 1088
diff changeset
9
1088
bae2d0c2576c change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
10 local Logging = {}
205
3918f92de5fe add logging component
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
11
1321
307e76ccd0d6 generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1199
diff changeset
12 function Logging.init_root()
307e76ccd0d6 generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1199
diff changeset
13 local root = LuanLogger.getRootLogger()
1199
3995cbe5b00a simplify logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1101
diff changeset
14 local has_appenders = root.getAllAppenders().hasMoreElements()
1321
307e76ccd0d6 generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1199
diff changeset
15 if not has_appenders then
307e76ccd0d6 generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1199
diff changeset
16 root.setLevel(Level.INFO)
307e76ccd0d6 generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1199
diff changeset
17 local layout = EnhancedPatternLayout.new("%d %-5p %c - %m%n")
307e76ccd0d6 generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1199
diff changeset
18 local appender = ConsoleAppender.new(layout,"System.err");
307e76ccd0d6 generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1199
diff changeset
19 root.addAppender(appender);
1199
3995cbe5b00a simplify logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1101
diff changeset
20 end
205
3918f92de5fe add logging component
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
21 end
1321
307e76ccd0d6 generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1199
diff changeset
22 Logging.init_root()
205
3918f92de5fe add logging component
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
23
3918f92de5fe add logging component
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
24 local function to_luan_logger(log4j_logger)
374
538c19ad1272 simplify logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 321
diff changeset
25 local tbl = {}
538c19ad1272 simplify logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 321
diff changeset
26
376
0a75ed73bccc partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents: 374
diff changeset
27 local luanLogger = LuanLogger.new(log4j_logger)
0a75ed73bccc partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents: 374
diff changeset
28 tbl.error = luanLogger.error
0a75ed73bccc partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents: 374
diff changeset
29 tbl.warn = luanLogger.warn
0a75ed73bccc partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents: 374
diff changeset
30 tbl.info = luanLogger.info
0a75ed73bccc partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents: 374
diff changeset
31 tbl.debug = luanLogger.debug
205
3918f92de5fe add logging component
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
32
3918f92de5fe add logging component
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
33 function tbl.get_level()
3918f92de5fe add logging component
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
34 local level = log4j_logger.getLevel()
3918f92de5fe add logging component
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
35 return level and level.toString()
3918f92de5fe add logging component
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
36 end
3918f92de5fe add logging component
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
37
3918f92de5fe add logging component
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
38 function tbl.get_effective_level()
3918f92de5fe add logging component
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
39 local level = log4j_logger.getEffectiveLevel()
3918f92de5fe add logging component
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
40 return level and level.toString()
3918f92de5fe add logging component
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
41 end
3918f92de5fe add logging component
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
42
3918f92de5fe add logging component
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
43 function tbl.set_level(level)
1199
3995cbe5b00a simplify logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1101
diff changeset
44 log4j_logger.setLevel( Level.toLevel(level) )
205
3918f92de5fe add logging component
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
45 end
3918f92de5fe add logging component
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
46
3918f92de5fe add logging component
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
47 return tbl
3918f92de5fe add logging component
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
48 end
3918f92de5fe add logging component
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
49
1088
bae2d0c2576c change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
50 function Logging.logger(name)
1321
307e76ccd0d6 generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1199
diff changeset
51 return to_luan_logger( LuanLogger.getLogger(name) )
205
3918f92de5fe add logging component
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
52 end
3918f92de5fe add logging component
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
53
1088
bae2d0c2576c change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
54 function Logging.root_logger()
1321
307e76ccd0d6 generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1199
diff changeset
55 return to_luan_logger( LuanLogger.getRootLogger() )
205
3918f92de5fe add logging component
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
56 end
503
92c3d22745b8 make _ENV optional
Franklin Schmidt <fschmidt@gmail.com>
parents: 376
diff changeset
57
1088
bae2d0c2576c change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
58 return Logging