summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/defaults.ml4
-rw-r--r--src/defaults.mli2
-rw-r--r--src/vyconf_config.ml6
-rw-r--r--src/vyconf_config.mli2
-rw-r--r--src/vyconfd.ml4
5 files changed, 16 insertions, 2 deletions
diff --git a/src/defaults.ml b/src/defaults.ml
index ec4772f..b6d0030 100644
--- a/src/defaults.ml
+++ b/src/defaults.ml
@@ -2,10 +2,14 @@ type vyconf_defaults = {
config_file: string;
pid_file: string;
socket: string;
+ log_template: string;
+ log_level: string;
}
let defaults = {
config_file = "/etc/vyconfd.conf";
pid_file = "/var/run/vyconfd.pid";
socket = "/var/run/vyconfd.sock";
+ log_template = "$(date) $(name)[$(pid)]: $(message)";
+ log_level = "notice";
}
diff --git a/src/defaults.mli b/src/defaults.mli
index 792bd22..042eced 100644
--- a/src/defaults.mli
+++ b/src/defaults.mli
@@ -2,6 +2,8 @@ type vyconf_defaults = {
config_file: string;
pid_file: string;
socket: string;
+ log_template: string;
+ log_level: string;
}
val defaults : vyconf_defaults
diff --git a/src/vyconf_config.ml b/src/vyconf_config.ml
index 7f2ead1..fb0be40 100644
--- a/src/vyconf_config.ml
+++ b/src/vyconf_config.ml
@@ -10,6 +10,8 @@ type t = {
socket: string;
pid_file: string;
log_file: string option;
+ log_template: string;
+ log_level: string;
} [@@deriving show]
(* XXX: there should be a better way than to fully initialize it
@@ -24,6 +26,8 @@ let empty_config = {
socket = "";
pid_file = "";
log_file = None;
+ log_template = "";
+ log_level = "";
}
@@ -62,6 +66,8 @@ let load filename =
(* Optional fields *)
let conf = {conf with pid_file = optional_field defaults.pid_file conf_toml "vyconf" "pid_file"} in
let conf = {conf with socket = optional_field defaults.socket conf_toml "vyconf" "socket"} in
+ let conf = {conf with log_template = optional_field defaults.log_template conf_toml "vyconf" "log_template"} in
+ let conf = {conf with log_level = optional_field defaults.log_level conf_toml "vyconf" "log_level"} in
(* log_file is already string option, so we don't need to unwrap *)
let conf = {conf with log_file = get_field conf_toml "vyconf" "log_file"} in
Result.Ok conf
diff --git a/src/vyconf_config.mli b/src/vyconf_config.mli
index 36aeb27..ed30b35 100644
--- a/src/vyconf_config.mli
+++ b/src/vyconf_config.mli
@@ -8,6 +8,8 @@ type t = {
socket: string;
pid_file: string;
log_file: string option;
+ log_template: string;
+ log_level: string;
}
val load : string -> (t, string) result
diff --git a/src/vyconfd.ml b/src/vyconfd.ml
index c2270dd..84bc0de 100644
--- a/src/vyconfd.ml
+++ b/src/vyconfd.ml
@@ -8,7 +8,6 @@ let () = Lwt_log.add_rule "*" Lwt_log.Info
let daemonize = ref true
let config_file = ref defaults.config_file
let log_file = ref None
-let log_template = ref "$(date): $(message)"
(* Global data *)
@@ -25,13 +24,14 @@ let args = [
let usage = "Usage: " ^ Sys.argv.(0) ^ " [options]"
let main_loop config () =
- let%lwt () = Startup.setup_logger !daemonize !log_file !log_template in
+ let%lwt () = Startup.setup_logger !daemonize !log_file config.log_template in
let%lwt () = Lwt_log.notice @@ Printf.sprintf "Starting VyConf for %s" config.app_name in
Lwt.return_unit
let () =
let () = Arg.parse args (fun f -> ()) usage in
let config = Startup.load_config !config_file in
+ let () = Lwt_log.load_rules ("* -> " ^ config.log_level) in
let dirs = Directories.make config in
Startup.check_dirs dirs;
Lwt_main.run @@ main_loop config ()