annotate backup/backup_server.luan @ 2029:5fa5a7efc936 default tip

merge
author Violet7
date Thu, 30 Oct 2025 21:25:37 -0700
parents 8c5b604f98cd
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1672
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
1 local Luan = require "luan:Luan.luan"
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
2 local error = Luan.error
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
3 local ipairs = Luan.ipairs or error()
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
4 local Io = require "luan:Io.luan"
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
5
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
6 require "java"
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
7 local File = require "java:java.io.File"
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
8 local BackupServer = require "java:goodjava.lucene.backup.BackupServer"
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
9
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
10 local log_to_console = false
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
11 for _, arg in ipairs{...} do
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
12 if arg == "console" then
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
13 log_to_console = true
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
14 end
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
15 end
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
16 if not log_to_console then
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
17 local FileWriter = require "java:java.io.FileWriter"
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
18 local LuanLogger = require "java:luan.modules.logging.LuanLogger"
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
19 local Layouts = require "java:goodjava.logger.Layouts"
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
20 local DateLayout = require "java:goodjava.logger.DateLayout"
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
21 local ListLayout = require "java:goodjava.logger.ListLayout"
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
22 local Level = require "java:goodjava.logger.Level"
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
23 local WriterAppender = require "java:goodjava.logger.WriterAppender"
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
24 local LevelAppender = require "java:goodjava.logger.LevelAppender"
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
25 local ListAppender = require "java:goodjava.logger.ListAppender"
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
26
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
27 local layout = ListLayout.new(DateLayout.new("yyyy-MM-dd HH:mm:ss,SSS")," ",Layouts.LEVEL_PADDED," ",Layouts.LOGGER," - ",Layouts.MESSAGE,"\n",Layouts.THROWABLE)
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
28
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
29 local function new_appender(file,level)
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
30 local writer = FileWriter.new(file,true)
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
31 local appender = WriterAppender.new(layout,writer)
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
32 appender = LevelAppender.new(appender,level)
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
33 return appender
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
34 end
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
35
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
36 Io.uri("file:logs").mkdir()
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
37 local err = new_appender("logs/error.log",Level.ERROR)
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
38 local warn = new_appender("logs/warn.log",Level.WARN)
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
39 local info = new_appender("logs/info.log",Level.INFO)
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
40 local appender = ListAppender.new(err,warn,info)
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
41 LuanLogger.configure(appender)
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
42 end
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
43
2027
Franklin Schmidt <fschmidt@gmail.com>
parents: 2024
diff changeset
44 local Logging = require "luan:logging/Logging.luan"
Franklin Schmidt <fschmidt@gmail.com>
parents: 2024
diff changeset
45 local logger = Logging.logger "backup_server"
Franklin Schmidt <fschmidt@gmail.com>
parents: 2024
diff changeset
46 logger.info("log_to_console "..log_to_console)
Franklin Schmidt <fschmidt@gmail.com>
parents: 2024
diff changeset
47
1672
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
48 local dir = File.new("backups")
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
49 local server = BackupServer.new(dir)
8dd8c556c449 backup work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
50 server.start()