comparison backup/backup_server.luan @ 2029:5fa5a7efc936

merge
author Violet7
date Thu, 30 Oct 2025 21:25:37 -0700
parents 8c5b604f98cd
children ee75b5c12272
comparison
equal deleted inserted replaced
2028:2f43f84191c9 2029:5fa5a7efc936
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
10 local log_to_console = false
11 for _, arg in ipairs{...} do
12 if arg == "console" then
13 log_to_console = true
14 end
15 end
16 if not log_to_console then
17 local FileWriter = require "java:java.io.FileWriter"
18 local LuanLogger = require "java:luan.modules.logging.LuanLogger"
19 local Layouts = require "java:goodjava.logger.Layouts"
20 local DateLayout = require "java:goodjava.logger.DateLayout"
21 local ListLayout = require "java:goodjava.logger.ListLayout"
22 local Level = require "java:goodjava.logger.Level"
23 local WriterAppender = require "java:goodjava.logger.WriterAppender"
24 local LevelAppender = require "java:goodjava.logger.LevelAppender"
25 local ListAppender = require "java:goodjava.logger.ListAppender"
26
27 local layout = ListLayout.new(DateLayout.new("yyyy-MM-dd HH:mm:ss,SSS")," ",Layouts.LEVEL_PADDED," ",Layouts.LOGGER," - ",Layouts.MESSAGE,"\n",Layouts.THROWABLE)
28
29 local function new_appender(file,level)
30 local writer = FileWriter.new(file,true)
31 local appender = WriterAppender.new(layout,writer)
32 appender = LevelAppender.new(appender,level)
33 return appender
34 end
35
36 Io.uri("file:logs").mkdir()
37 local err = new_appender("logs/error.log",Level.ERROR)
38 local warn = new_appender("logs/warn.log",Level.WARN)
39 local info = new_appender("logs/info.log",Level.INFO)
40 local appender = ListAppender.new(err,warn,info)
41 LuanLogger.configure(appender)
42 end
43
44 local Logging = require "luan:logging/Logging.luan"
45 local logger = Logging.logger "backup_server"
46 logger.info("log_to_console "..log_to_console)
47
48 local dir = File.new("backups")
49 local server = BackupServer.new(dir)
50 server.start()