annotate src/luan/modules/logging/Log4j.java @ 1336:7483108154bb

minor logging
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 14 Feb 2019 05:22:22 -0700
parents e0cf0d108a77
children 6617763dfd76
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
1336
7483108154bb minor logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1335
diff changeset
3 import java.util.Enumeration;
376
0a75ed73bccc partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
4 import org.apache.log4j.Logger;
1321
307e76ccd0d6 generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
5 import org.apache.log4j.LogManager;
307e76ccd0d6 generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
6 import org.apache.log4j.Hierarchy;
307e76ccd0d6 generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
7 import org.apache.log4j.Level;
1336
7483108154bb minor logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1335
diff changeset
8 import org.apache.log4j.Appender;
1321
307e76ccd0d6 generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
9 import org.apache.log4j.spi.LoggerRepository;
307e76ccd0d6 generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
10 import org.apache.log4j.spi.RootLogger;
1332
11b7e11f9ed5 cleaner logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1321
diff changeset
11 import org.apache.log4j.spi.RepositorySelector;
1333
25746915a241 merge Luan and LuanState
Franklin Schmidt <fschmidt@gmail.com>
parents: 1332
diff changeset
12 import luan.Luan;
376
0a75ed73bccc partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
13 import luan.LuanException;
0a75ed73bccc partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
14 import luan.LuanTable;
0a75ed73bccc partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
15
0a75ed73bccc partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
16
1332
11b7e11f9ed5 cleaner logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1321
diff changeset
17 public final class Log4j {
1336
7483108154bb minor logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1335
diff changeset
18 private static final String KEY = "Logger.Repository";
7483108154bb minor logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1335
diff changeset
19 private static final LoggerRepository defaultLoggerRepository = LogManager.getLoggerRepository();
1321
307e76ccd0d6 generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
20
1336
7483108154bb minor logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1335
diff changeset
21 public static void newLoggerRepository(Luan luan) {
7483108154bb minor logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1335
diff changeset
22 Logger oldLogger = defaultLoggerRepository.getRootLogger();
7483108154bb minor logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1335
diff changeset
23 Logger newLogger = new RootLogger(Level.DEBUG);
7483108154bb minor logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1335
diff changeset
24 LoggerRepository lr = new Hierarchy(newLogger);
7483108154bb minor logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1335
diff changeset
25 for( Enumeration en = oldLogger.getAllAppenders(); en.hasMoreElements(); ) {
7483108154bb minor logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1335
diff changeset
26 Appender appender = (Appender)en.nextElement();
7483108154bb minor logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1335
diff changeset
27 newLogger.addAppender(appender);
7483108154bb minor logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1335
diff changeset
28 }
1321
307e76ccd0d6 generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
29 luan.registry().put(KEY,lr);
307e76ccd0d6 generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
30 }
307e76ccd0d6 generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
31
1333
25746915a241 merge Luan and LuanState
Franklin Schmidt <fschmidt@gmail.com>
parents: 1332
diff changeset
32 private static LoggerRepository getLoggerRepository(Luan luan) {
1332
11b7e11f9ed5 cleaner logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1321
diff changeset
33 LoggerRepository lr = (LoggerRepository)luan.registry().get(KEY);
11b7e11f9ed5 cleaner logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1321
diff changeset
34 return lr != null ? lr : defaultLoggerRepository;
11b7e11f9ed5 cleaner logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1321
diff changeset
35 }
11b7e11f9ed5 cleaner logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1321
diff changeset
36
11b7e11f9ed5 cleaner logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1321
diff changeset
37 static {
11b7e11f9ed5 cleaner logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1321
diff changeset
38 LogManager.setRepositorySelector( new RepositorySelector() {
11b7e11f9ed5 cleaner logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1321
diff changeset
39 public LoggerRepository getLoggerRepository() {
1333
25746915a241 merge Luan and LuanState
Franklin Schmidt <fschmidt@gmail.com>
parents: 1332
diff changeset
40 Luan luan = LuanLogger.luan();
1332
11b7e11f9ed5 cleaner logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1321
diff changeset
41 return luan==null ? defaultLoggerRepository : Log4j.getLoggerRepository(luan);
11b7e11f9ed5 cleaner logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1321
diff changeset
42 }
11b7e11f9ed5 cleaner logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 1321
diff changeset
43 }, new Object() );
1321
307e76ccd0d6 generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
44 }
307e76ccd0d6 generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
45
1333
25746915a241 merge Luan and LuanState
Franklin Schmidt <fschmidt@gmail.com>
parents: 1332
diff changeset
46 public static Logger getRootLogger(Luan luan) {
1321
307e76ccd0d6 generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
47 return getLoggerRepository(luan).getRootLogger();
307e76ccd0d6 generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
48 }
307e76ccd0d6 generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
49
1333
25746915a241 merge Luan and LuanState
Franklin Schmidt <fschmidt@gmail.com>
parents: 1332
diff changeset
50 public static Logger getLogger(Luan luan,String name) {
1321
307e76ccd0d6 generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
51 return getLoggerRepository(luan).getLogger(name);
307e76ccd0d6 generalize separate logging
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
52 }
376
0a75ed73bccc partly revert rev 538c19ad1272 (logging)
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
53 }