Mercurial Hosting > luan
view src/luan/host/Init.luan @ 1321:307e76ccd0d6
generalize separate logging
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Tue, 05 Feb 2019 22:36:55 -0700 |
parents | 5763597ca5c0 |
children |
line wrap: on
line source
local Luan = require "luan:Luan.luan" local error = Luan.error local do_file = Luan.do_file or error() local String = require "luan:String.luan" local gsub = String.gsub or error() local Init = {} local dir, domain, logging = ... -- logging if logging then java() local LuanLogger = require "java:luan.modules.logging.LuanLogger" local Level = require "java:org.apache.log4j.Level" local EnhancedPatternLayout = require "java:org.apache.log4j.EnhancedPatternLayout" local RollingFileAppender = require "java:org.apache.log4j.RollingFileAppender" local logger = LuanLogger.getRootLogger() logger.removeAllAppenders() local layout = EnhancedPatternLayout.new("%d %-5p %c - %m%n") local log_dir = dir.."/site/private/local/logs/" local function add_appender(file,level) local appender = RollingFileAppender.new(layout, log_dir..file) appender.setMaxFileSize("1MB") logger.addAppender(appender) if level ~= logger.getEffectiveLevel() then appender.setThreshold(level) end end add_appender("error.log",Level.ERROR) add_appender("warn.log",Level.WARN) add_appender("info.log",Level.INFO) end -- set vars local Io = require "luan:Io.luan" local Http = require "luan:http/Http.luan" local Hosting = require "luan:host/Hosting.luan" local Mail = require "luan:mail/Mail.luan" Init.password = do_file(dir.."/info.luan").password or error() Http.dir = "file:"..dir.."/site" function Io.schemes.site(path,loading) return Io.uri( Http.dir..path, loading ) end Http.domain = domain Io.password = Init.password -- mail - fix later Hosting.send_mail = Mail.Sender{ host = "smtpcorp.com" username = "smtp@luan.ws" -- ? password = "luanhost" port = 2525 }.send -- callback to luanhost code do_file "file:init.luan" return Init