Mercurial Hosting > luan
comparison 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 |
comparison
equal
deleted
inserted
replaced
1335:e0cf0d108a77 | 1336:7483108154bb |
---|---|
1 package luan.modules.logging; | 1 package luan.modules.logging; |
2 | 2 |
3 import java.util.Enumeration; | |
3 import org.apache.log4j.Logger; | 4 import org.apache.log4j.Logger; |
4 import org.apache.log4j.LogManager; | 5 import org.apache.log4j.LogManager; |
5 import org.apache.log4j.Hierarchy; | 6 import org.apache.log4j.Hierarchy; |
6 import org.apache.log4j.Level; | 7 import org.apache.log4j.Level; |
8 import org.apache.log4j.Appender; | |
7 import org.apache.log4j.spi.LoggerRepository; | 9 import org.apache.log4j.spi.LoggerRepository; |
8 import org.apache.log4j.spi.RootLogger; | 10 import org.apache.log4j.spi.RootLogger; |
9 import org.apache.log4j.spi.RepositorySelector; | 11 import org.apache.log4j.spi.RepositorySelector; |
10 import luan.Luan; | 12 import luan.Luan; |
11 import luan.LuanException; | 13 import luan.LuanException; |
12 import luan.LuanTable; | 14 import luan.LuanTable; |
13 | 15 |
14 | 16 |
15 public final class Log4j { | 17 public final class Log4j { |
16 private static String KEY = "Logger.Repository"; | 18 private static final String KEY = "Logger.Repository"; |
19 private static final LoggerRepository defaultLoggerRepository = LogManager.getLoggerRepository(); | |
17 | 20 |
18 public static void newLoggerRepository(Luan luan) throws LuanException { | 21 public static void newLoggerRepository(Luan luan) { |
19 LoggerRepository lr = new Hierarchy(new RootLogger(Level.DEBUG)); | 22 Logger oldLogger = defaultLoggerRepository.getRootLogger(); |
23 Logger newLogger = new RootLogger(Level.DEBUG); | |
24 LoggerRepository lr = new Hierarchy(newLogger); | |
25 for( Enumeration en = oldLogger.getAllAppenders(); en.hasMoreElements(); ) { | |
26 Appender appender = (Appender)en.nextElement(); | |
27 newLogger.addAppender(appender); | |
28 } | |
20 luan.registry().put(KEY,lr); | 29 luan.registry().put(KEY,lr); |
21 LuanTable module = (LuanTable)luan.require("luan:logging/Log4j.luan"); | |
22 module.fn("init_root").call(); | |
23 } | 30 } |
24 | |
25 private static final LoggerRepository defaultLoggerRepository = LogManager.getLoggerRepository(); | |
26 | 31 |
27 private static LoggerRepository getLoggerRepository(Luan luan) { | 32 private static LoggerRepository getLoggerRepository(Luan luan) { |
28 LoggerRepository lr = (LoggerRepository)luan.registry().get(KEY); | 33 LoggerRepository lr = (LoggerRepository)luan.registry().get(KEY); |
29 return lr != null ? lr : defaultLoggerRepository; | 34 return lr != null ? lr : defaultLoggerRepository; |
30 } | 35 } |