1180
|
1 local Package = require "luan:Package.luan"
|
|
2 Package.loaded["luan:http/Http.luan"] = require "luan:http/jetty/Http.luan"
|
|
3
|
1135
|
4 local Luan = require "luan:Luan.luan"
|
|
5 local error = Luan.error
|
|
6 local String = require "luan:String.luan"
|
|
7 local gsub = String.gsub or error()
|
|
8 local Io = require "luan:Io.luan"
|
|
9 local Http = require "luan:http/Http.luan"
|
|
10 local Hosting = require "luan:host/Hosting.luan"
|
|
11 local Mail = require "luan:mail/Mail.luan"
|
|
12
|
|
13
|
|
14 local Init = {}
|
|
15
|
|
16 local dir, domain = ...
|
|
17
|
|
18 Init.password = Io.schemes.file(dir).child("password").read_text()
|
|
19
|
|
20 Http.dir = "file:"..dir.."/site"
|
|
21
|
|
22 function Io.schemes.site(path,loading)
|
|
23 return Io.uri( Http.dir..path, loading )
|
|
24 end
|
|
25
|
|
26 Hosting.domain = domain
|
|
27 Io.password = Init.password
|
|
28
|
|
29
|
|
30 -- logging
|
|
31
|
|
32 java()
|
|
33 local Logger = require "java:org.apache.log4j.Logger"
|
|
34 local Logging = require "luan:logging/Logging.luan"
|
|
35
|
|
36 local root = gsub(domain,"\.",":")
|
|
37
|
|
38 Logging.layout = "%d %-5p %c{-1} - %m%n"
|
|
39 Logging.file = dir.."/site/private/local/logs/luan.log"
|
|
40 Logging.max_file_size = "1MB"
|
|
41 local one_mb = 1048576
|
|
42
|
|
43 local log_dir = dir.."/site/private/local/logs/"
|
|
44 Logging.appenders = {
|
|
45 [log_dir.."error.log"] = "ERROR"
|
|
46 [log_dir.."warn.log"] = "WARN"
|
|
47 [log_dir.."info.log"] = "INFO"
|
|
48 }
|
|
49
|
|
50 Logging.log4j_root_logger = Logger.getLogger(root)
|
|
51 Logging.log4j_root_logger.setAdditivity(false)
|
|
52
|
|
53 local old_log_to_file = Logging.log_to_file
|
|
54
|
|
55 function Logging.log_to_file(file,logger_name)
|
|
56 Io.schemes.file(file) -- security check
|
|
57 logger_name = logger_name and root .. "." .. logger_name
|
|
58 local appender = old_log_to_file(file,logger_name)
|
|
59 appender.getMaximumFileSize() <= one_mb or error "Logging.max_file_size is too big"
|
|
60 return appender
|
|
61 end
|
|
62
|
|
63 local old_init = Logging.init
|
|
64
|
|
65 function Logging.init()
|
|
66 Logging.appenders["System.err"] = nil
|
|
67 Logging.appenders["System.out"] = nil
|
|
68 old_init()
|
|
69 end
|
|
70
|
|
71 Logging.init()
|
|
72
|
|
73 local old_logger = Logging.logger
|
|
74
|
|
75 function Logging.root_logger()
|
|
76 return old_logger(root)
|
|
77 end
|
|
78
|
|
79 function Logging.logger(name)
|
|
80 return old_logger( root .. "." .. name )
|
|
81 end
|
|
82
|
|
83 Init.logger_root = root.."."
|
|
84
|
|
85
|
|
86 -- mail - fix later
|
|
87
|
|
88 Hosting.send_mail = Mail.Sender{
|
|
89 host = "smtpcorp.com";
|
|
90 username = "smtp@luanhost.com"; -- ?
|
|
91 password = "luanhost";
|
|
92 port = 2525;
|
|
93 }.send
|
|
94
|
|
95
|
|
96 return Init
|