diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..936ab87
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+src/library
diff --git a/src/anb_log.aproj b/src/anb_log.aproj
index 979d54b..cec4349 100644
--- a/src/anb_log.aproj
+++ b/src/anb_log.aproj
@@ -23,6 +23,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -61,6 +118,362 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -206,6 +619,165 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/src/logger_server.anubis b/src/src/logger_server.anubis
index 03c4a9f..52d9876 100644
--- a/src/src/logger_server.anubis
+++ b/src/src/logger_server.anubis
@@ -25,6 +25,55 @@ type UID_loggers:
)
.
+
+type UID_loggers_No_Var:
+ uid_loggers_no_var(
+ String uid,
+ String base_dir,
+ List(Logger_no_Var) loggers
+ )
+.
+
+
+define One
+ save_loggers
+ (
+ Var(List(UID_loggers)) logs
+ )=
+ with anb_log_cache = find_and_replace(my_anubis_directory, "\\", "/") + "/anb_log/cache",
+ with to_cache =
+ map((UID_loggers uid_l) |->
+ uid_loggers_no_var(
+ uid_l.uid,
+ uid_l.base_dir,
+ map((Logger l) |->
+ to_Logger_no_Var(l)
+ ,
+ *uid_l.loggers)
+ )
+ ,
+ *logs),
+ forget(save(to_cache, anb_log_cache))
+.
+
+define Var(List(UID_loggers))
+ load_loggers =
+ with anb_log_cache = find_and_replace(my_anubis_directory, "\\", "/") + "/anb_log/cache",
+ if(RetrieveResult(List(UID_loggers_No_Var)))retrieve(anb_log_cache) is ok(lnvs) then
+ var(map((UID_loggers_No_Var lnv) |->
+ uid_loggers(
+ lnv.uid,
+ lnv.base_dir,
+ var(map((Logger_no_Var l) |->
+ to_Logger(l)
+ ,
+ lnv.loggers)))
+ ,
+ lnvs))
+ else
+ var([])
+.
+
/** get_uid_loggers
*/
define Maybe(UID_loggers)
@@ -115,7 +164,8 @@ define One
failure then unique,
success(new_log) then
_uid_log.loggers <- [new_log . *_uid_log.loggers];
- logInfo(anb_logger, "register_logger: logger ["+log_name+"] created in ["+uid+"]")
+ logInfo(anb_logger, "register_logger: logger ["+log_name+"] created in ["+uid+"]");
+ save_loggers(logs)
}
success(_) then
logWarning(anb_logger, "register_logger: logger ["+log_name+"] already exists in ["+uid+"]")
@@ -141,7 +191,8 @@ define One
with base_dir = if abs_path then default_path else log_server_base_dir + default_path,
with new_uid = uid_loggers(uid, base_dir, var([])),
logs <- [ new_uid . *logs];
- logInfo(anb_logger, "register_uid UID logger ["+uid+"] success with base dir '"+base_dir+"'.")
+ logInfo(anb_logger, "register_uid UID logger ["+uid+"] success with base dir '"+base_dir+"'.");
+ save_loggers(logs)
success(_) then
logError(anb_logger, "register_uid UID logger ["+uid+"] already exists.")
}}
@@ -163,14 +214,17 @@ define Bool
{
failure then
//println("process_log can't find LogMask ["+log_string+"]");
- logError(log, "process_log can't find LOG_MASK");false,
- success(log_mask) then logTrace(log, logMask(log_mask), log_string, thread_id); true
+ logError(log, "process_log can't find LOG_MASK");
+ false,
+ success(log_mask) then
+ logTrace(log, logMask(log_mask), log_string, thread_id);
+ true
}
- else doLog(log, log_string, level, thread_id); true
-
- }
- }
- }.
+ else
+ doLog(log, log_string, level, thread_id);
+ true
+ }}}
+.
define Bool
process_log
@@ -317,6 +371,6 @@ global define One
//create own logger
with anb_logger = createLogger("anb_log", 7, base_directory + "anb_log.log", logTrace, logTrace),
logInfo(anb_logger, "start anb_log "+datef_ymd(product_time) + " " + dhour_format(product_time));
-
- forget(start_logger_server(create_default_loggers(base_directory), anb_logger, server_port, base_directory))
+ with loggers = load_loggers,
+ forget(start_logger_server(loggers, anb_logger, server_port, base_directory))
.
--
libgit2 0.21.4