| 
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()
 |