1672
|
1 local Luan = require "luan:Luan.luan"
|
|
2 local error = Luan.error
|
|
3 local ipairs = Luan.ipairs or error()
|
|
4 local Io = require "luan:Io.luan"
|
|
5
|
|
6 require "java"
|
|
7 local File = require "java:java.io.File"
|
|
8 local BackupServer = require "java:goodjava.lucene.backup.BackupServer"
|
|
9 local Logging = require "luan:logging/Logging.luan"
|
|
10
|
|
11 local log_to_console = false
|
|
12 for _, arg in ipairs{...} do
|
|
13 if arg == "console" then
|
|
14 log_to_console = true
|
|
15 end
|
|
16 end
|
|
17 if not log_to_console then
|
|
18 local FileWriter = require "java:java.io.FileWriter"
|
|
19 local LuanLogger = require "java:luan.modules.logging.LuanLogger"
|
|
20 local Layouts = require "java:goodjava.logger.Layouts"
|
|
21 local DateLayout = require "java:goodjava.logger.DateLayout"
|
|
22 local ListLayout = require "java:goodjava.logger.ListLayout"
|
|
23 local Level = require "java:goodjava.logger.Level"
|
|
24 local WriterAppender = require "java:goodjava.logger.WriterAppender"
|
|
25 local LevelAppender = require "java:goodjava.logger.LevelAppender"
|
|
26 local ListAppender = require "java:goodjava.logger.ListAppender"
|
|
27
|
|
28 local layout = ListLayout.new(DateLayout.new("yyyy-MM-dd HH:mm:ss,SSS")," ",Layouts.LEVEL_PADDED," ",Layouts.LOGGER," - ",Layouts.MESSAGE,"\n",Layouts.THROWABLE)
|
|
29
|
|
30 local function new_appender(file,level)
|
|
31 local writer = FileWriter.new(file,true)
|
|
32 local appender = WriterAppender.new(layout,writer)
|
|
33 appender = LevelAppender.new(appender,level)
|
|
34 return appender
|
|
35 end
|
|
36
|
|
37 Io.uri("file:logs").mkdir()
|
|
38 local err = new_appender("logs/error.log",Level.ERROR)
|
|
39 local warn = new_appender("logs/warn.log",Level.WARN)
|
|
40 local info = new_appender("logs/info.log",Level.INFO)
|
|
41 local appender = ListAppender.new(err,warn,info)
|
|
42 LuanLogger.configure(appender)
|
|
43 end
|
|
44
|
|
45 local dir = File.new("backups")
|
|
46 local server = BackupServer.new(dir)
|
|
47 server.start()
|