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 }