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 } |
