diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/defaults.ml | 4 | ||||
-rw-r--r-- | src/defaults.mli | 2 | ||||
-rw-r--r-- | src/vyconf_config.ml | 6 | ||||
-rw-r--r-- | src/vyconf_config.mli | 2 | ||||
-rw-r--r-- | src/vyconfd.ml | 4 |
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 () |