Mercurial Hosting > luan
comparison src/luan/modules/http/LuanHandler.java @ 1321:307e76ccd0d6
generalize separate logging
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Tue, 05 Feb 2019 22:36:55 -0700 |
parents | f7355714742f |
children | 11b7e11f9ed5 |
comparison
equal
deleted
inserted
replaced
1320:2c8d1d76a82a | 1321:307e76ccd0d6 |
---|---|
10 import java.net.BindException; | 10 import java.net.BindException; |
11 import java.util.List; | 11 import java.util.List; |
12 import java.util.ArrayList; | 12 import java.util.ArrayList; |
13 import java.util.concurrent.locks.ReadWriteLock; | 13 import java.util.concurrent.locks.ReadWriteLock; |
14 import java.util.concurrent.locks.ReentrantReadWriteLock; | 14 import java.util.concurrent.locks.ReentrantReadWriteLock; |
15 import org.slf4j.Logger; | 15 import org.apache.log4j.Logger; |
16 import org.slf4j.LoggerFactory; | |
17 import luan.webserver.Request; | 16 import luan.webserver.Request; |
18 import luan.webserver.Response; | 17 import luan.webserver.Response; |
19 import luan.webserver.Status; | 18 import luan.webserver.Status; |
20 import luan.webserver.Server; | 19 import luan.webserver.Server; |
21 import luan.webserver.Handler; | 20 import luan.webserver.Handler; |
27 import luan.LuanJavaFunction; | 26 import luan.LuanJavaFunction; |
28 import luan.LuanCloner; | 27 import luan.LuanCloner; |
29 import luan.LuanException; | 28 import luan.LuanException; |
30 import luan.modules.PackageLuan; | 29 import luan.modules.PackageLuan; |
31 import luan.modules.BasicLuan; | 30 import luan.modules.BasicLuan; |
31 import luan.modules.logging.LuanLogger; | |
32 | 32 |
33 | 33 |
34 public final class LuanHandler implements Handler, LuanState.OnClose { | 34 public final class LuanHandler implements Handler, LuanState.OnClose { |
35 private final LuanState luanInit; | 35 private final LuanState luanInit; |
36 private final Logger logger; | 36 private final Logger logger; |
50 } catch(NoSuchMethodException e) { | 50 } catch(NoSuchMethodException e) { |
51 throw new RuntimeException(e); | 51 throw new RuntimeException(e); |
52 } | 52 } |
53 } | 53 } |
54 | 54 |
55 public LuanHandler(LuanState luanInit,String loggerRoot) { | 55 public LuanHandler(LuanState luanInit) { |
56 this.luanInit = luanInit; | 56 this.luanInit = luanInit; |
57 if( loggerRoot==null ) | 57 this.logger = LuanLogger.getLogger(luanInit,LuanHandler.class.getName()); |
58 loggerRoot = ""; | |
59 logger = LoggerFactory.getLogger(loggerRoot+LuanHandler.class.getName()); | |
60 try { | 58 try { |
61 LuanTable Http = (LuanTable)luanInit.require("luan:http/Http.luan"); | 59 LuanTable Http = (LuanTable)luanInit.require("luan:http/Http.luan"); |
62 Http.put( "reset_luan", new LuanJavaFunction(resetLuanMethod,this) ); | 60 Http.put( "reset_luan", new LuanJavaFunction(resetLuanMethod,this) ); |
63 Http.put( "eval_in_root", new LuanJavaFunction(evalInRootMethod,this) ); | 61 Http.put( "eval_in_root", new LuanJavaFunction(evalInRootMethod,this) ); |
64 Http.put( "disable_luan", new LuanJavaFunction(disableLuanMethod,this) ); | 62 Http.put( "disable_luan", new LuanJavaFunction(disableLuanMethod,this) ); |
73 LuanState luan = (LuanState)cloner.clone(luanInit); | 71 LuanState luan = (LuanState)cloner.clone(luanInit); |
74 luan.onClose = this; | 72 luan.onClose = this; |
75 try { | 73 try { |
76 PackageLuan.load(luan,"site:/init.luan"); | 74 PackageLuan.load(luan,"site:/init.luan"); |
77 } catch(LuanException e) { | 75 } catch(LuanException e) { |
76 //e.printStackTrace(); | |
78 String err = e.getLuanStackTraceString(); | 77 String err = e.getLuanStackTraceString(); |
79 logger.error(err); | 78 logger.error(err); |
80 } | 79 } |
81 return luan; | 80 return luan; |
82 } | 81 } |