comparison src/luan/host/run.luan @ 1641:48c24eedb8b2

host cleanup
author Franklin Schmidt <fschmidt@gmail.com>
date Tue, 21 Dec 2021 17:21:37 -0700
parents 59731f7c24ce
children 0a46dbd36208
comparison
equal deleted inserted replaced
1640:570f3d483a31 1641:48c24eedb8b2
1 require "java" 1 require "java"
2 local Luan = require "luan:Luan.luan" 2 local Luan = require "luan:Luan.luan"
3 local error = Luan.error 3 local error = Luan.error
4 local ipairs = Luan.ipairs or error()
4 local do_file = Luan.do_file or error() 5 local do_file = Luan.do_file or error()
5 local ipairs = Luan.ipairs or error() 6 local Number = require "luan:Number.luan"
7 local long = Number.long or error()
6 local Io = require "luan:Io.luan" 8 local Io = require "luan:Io.luan"
7 local Hosted = require "luan:host/Hosted.luan" 9 local Hosted = require "luan:host/Hosted.luan"
10 local WebHandler = require "java:luan.host.WebHandler"
8 local Logging = require "luan:logging/Logging.luan" 11 local Logging = require "luan:logging/Logging.luan"
12
13 local log_to_console = false
14 for _, arg in ipairs{...} do
15 if arg == "console" then
16 log_to_console = true
17 end
18 end
19 if not log_to_console then
20 local LuanLogger = require "java:luan.modules.logging.LuanLogger"
21 local Layouts = require "java:goodjava.logger.Layouts"
22 local DateLayout = require "java:goodjava.logger.DateLayout"
23 local ListLayout = require "java:goodjava.logger.ListLayout"
24 local Level = require "java:goodjava.logger.Level"
25 local RollingFileAppender = require "java:goodjava.logger.RollingFileAppender"
26 local LevelAppender = require "java:goodjava.logger.LevelAppender"
27 local ListAppender = require "java:goodjava.logger.ListAppender"
28
29 local one_mb = long(1024*1024)
30 local layout = ListLayout.new(DateLayout.new("yyyy-MM-dd HH:mm:ss,SSS")," ",Layouts.LEVEL_PADDED," ",Layouts.LOGGER," - ",Layouts.MESSAGE,"\n",Layouts.THROWABLE)
31
32 local function new_appender(file,level)
33 local appender = RollingFileAppender.new(layout, file)
34 appender.maxFileSize = one_mb
35 appender = LevelAppender.new(appender,level)
36 return appender
37 end
38
39 local err = new_appender("logs/luan_error.log",Level.ERROR)
40 local warn = new_appender("logs/luan_warn.log",Level.WARN)
41 local info = new_appender("logs/luan_info.log",Level.INFO)
42 local appender = ListAppender.new(err,warn,info)
43 LuanLogger.configure(appender)
44 end
45
9 local logger = Logging.logger "run" 46 local logger = Logging.logger "run"
10 local WebHandler = require "java:luan.host.WebHandler" 47
48
49 WebHandler.config = require "classpath:luan/host/Config.luan"
11 Hosted.WebHandler = WebHandler 50 Hosted.WebHandler = WebHandler
12 51
13 52
14 local here = Io.schemes.file(".").canonical().to_string() 53 local here = Io.schemes.file(".").canonical().to_string()
15 Hosted.sites_dir = here.."/sites/" 54 Hosted.sites_dir = here.."/sites/"