Mercurial Hosting > luan
annotate src/luan/modules/logging/LuanLogger.java @ 1687:f48db13ae2d9
unlogged lucene support
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 09 Jun 2022 19:44:41 -0600 |
parents | c922446f53aa |
children |
rev | line source |
---|---|
376
0a75ed73bccc
partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
1 package luan.modules.logging; |
0a75ed73bccc
partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
2 |
1402
27efb1fcbcb5
move luan.lib to goodjava
Franklin Schmidt <fschmidt@gmail.com>
parents:
1393
diff
changeset
|
3 import goodjava.logging.Logger; |
27efb1fcbcb5
move luan.lib to goodjava
Franklin Schmidt <fschmidt@gmail.com>
parents:
1393
diff
changeset
|
4 import goodjava.logging.LoggerFactory; |
1454 | 5 import goodjava.logger.LoggingFactory; |
6 import goodjava.logger.GoodLoggerFactory; | |
7 import goodjava.logger.Appender; | |
8 import goodjava.logger.ThreadLocalAppender; | |
9 import goodjava.logger.SimpleConfigurer; | |
10 import goodjava.logger.Level; | |
1333
25746915a241
merge Luan and LuanState
Franklin Schmidt <fschmidt@gmail.com>
parents:
1332
diff
changeset
|
11 import luan.Luan; |
376
0a75ed73bccc
partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
12 import luan.LuanException; |
0a75ed73bccc
partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
13 |
0a75ed73bccc
partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
14 |
0a75ed73bccc
partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
15 public final class LuanLogger { |
0a75ed73bccc
partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
16 private final Logger logger; |
0a75ed73bccc
partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
17 |
1454 | 18 public LuanLogger(String name) { |
19 this.logger = LoggerFactory.getLogger(name); | |
376
0a75ed73bccc
partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
20 } |
0a75ed73bccc
partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
21 |
1563
8fbcc4747091
remove LuanFunction.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
1454
diff
changeset
|
22 public void error(Luan luan,Object obj) throws LuanException { |
8fbcc4747091
remove LuanFunction.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
1454
diff
changeset
|
23 logger.error( luan.luanToString(obj) ); |
376
0a75ed73bccc
partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
24 } |
0a75ed73bccc
partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
25 |
1563
8fbcc4747091
remove LuanFunction.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
1454
diff
changeset
|
26 public void warn(Luan luan,Object obj) throws LuanException { |
8fbcc4747091
remove LuanFunction.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
1454
diff
changeset
|
27 logger.warn( luan.luanToString(obj) ); |
376
0a75ed73bccc
partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
28 } |
0a75ed73bccc
partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
29 |
1563
8fbcc4747091
remove LuanFunction.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
1454
diff
changeset
|
30 public void info(Luan luan,Object obj) throws LuanException { |
8fbcc4747091
remove LuanFunction.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
1454
diff
changeset
|
31 logger.info( luan.luanToString(obj) ); |
376
0a75ed73bccc
partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
32 } |
0a75ed73bccc
partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
33 |
1563
8fbcc4747091
remove LuanFunction.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
1454
diff
changeset
|
34 public void debug(Luan luan,Object obj) throws LuanException { |
8fbcc4747091
remove LuanFunction.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
1454
diff
changeset
|
35 logger.debug( luan.luanToString(obj) ); |
376
0a75ed73bccc
partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
36 } |
0a75ed73bccc
partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
37 |
1321
307e76ccd0d6
generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
38 |
1454 | 39 private static final String KEY = "Logger.Appender"; |
40 private static volatile Appender globalAppender = GoodLoggerFactory.DEFAULT_APPENDER; | |
1687
f48db13ae2d9
unlogged lucene support
Franklin Schmidt <fschmidt@gmail.com>
parents:
1578
diff
changeset
|
41 public static int level = Level.INFO; |
1321
307e76ccd0d6
generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
42 |
1454 | 43 public static synchronized void initThreadLogging() { |
44 if( !(globalAppender instanceof ThreadLocalAppender) ) { | |
45 if( !(LoggerFactory.implementation instanceof LoggingFactory) ) | |
46 throw new RuntimeException("must use goodjava.logger for thread logging"); | |
47 globalAppender = new ThreadLocalAppender(globalAppender); | |
48 configure(); | |
1332 | 49 } |
1393 | 50 } |
51 | |
1454 | 52 public static void startThreadLogging(Luan luan) { |
53 if( !(globalAppender instanceof ThreadLocalAppender) ) | |
54 return; | |
55 ThreadLocalAppender tla = (ThreadLocalAppender)globalAppender; | |
1578 | 56 Appender appender; |
57 synchronized(luan) { | |
58 appender = (Appender)luan.registry().get(KEY); | |
59 } | |
1454 | 60 if( appender == null ) |
61 appender = tla.defaultAppender; | |
62 tla.threadLocal.set(appender); | |
63 } | |
64 | |
65 public static void endThreadLogging() { | |
66 if( !(globalAppender instanceof ThreadLocalAppender) ) | |
67 return; | |
68 ThreadLocalAppender tla = (ThreadLocalAppender)globalAppender; | |
69 tla.threadLocal.remove(); | |
70 } | |
71 | |
72 public static boolean isConfigured() { | |
73 if( !(LoggerFactory.implementation instanceof LoggingFactory) ) | |
74 return true; | |
75 return GoodLoggerFactory.getConfigurer() != GoodLoggerFactory.DEFAULT_CONFIGURER; | |
76 } | |
77 | |
78 public static void configure(Luan luan,Appender appender) { | |
79 if( globalAppender instanceof ThreadLocalAppender ) { | |
80 ThreadLocalAppender tla = (ThreadLocalAppender)globalAppender; | |
81 if( tla.threadLocal.get() != null ) { | |
82 luan.registry().put(KEY,appender); | |
83 tla.threadLocal.set(appender); | |
84 } else { | |
85 tla.defaultAppender = appender; | |
86 } | |
87 } else { | |
88 globalAppender = appender; | |
89 configure(); | |
1332 | 90 } |
1321
307e76ccd0d6
generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
91 } |
307e76ccd0d6
generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
92 |
1454 | 93 private static void configure() { |
1687
f48db13ae2d9
unlogged lucene support
Franklin Schmidt <fschmidt@gmail.com>
parents:
1578
diff
changeset
|
94 GoodLoggerFactory.setConfigurer( new SimpleConfigurer(level,globalAppender) ); |
1392 | 95 } |
96 | |
376
0a75ed73bccc
partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
97 } |