[GLOBAL] enabled = true # if this ky is missing mdlogger does not start !!! # Missing pattern key means pattern = [%{timestamp:utc} %{msg_type}] %{message} # Valid pattern placeholder # %{timestamp:utc} log message utc time timestamp # %{timestamp:loc} log message local time timestamp # %{msg_type} log message type # %{appname} application name # %{appversion} application version # %{thread} thread name or thread id if name has not been set where the log has been made # %{category} log message category # %{file} file name where the log has been made # %{function} function name where the log has been make # %{line} source line number where the log has been made # %{message} user message pattern = [<%{timestamp:utc} | %{timestamp:loc}> %{msg_type}, %{appname}, %{appvarsion}, %{thread}, %{category}, %{file}, %{function}, %{line}] %{message} # timestamp format [use rust crate time format see https://time-rs.github.io/book/api/format-description.html] # if timestamp_format missing the logger does not start, if it is empty the default '[year]-[month]-[day] [hour]:[minute]:[second].[subsecond digits:3] [offset_hour sign:mandatory]:[offset_second]' is used # due to the use of '[' & ']" fotmat has to be sorround by '"' timestamp_format = "[year]-[month]-[day] [hour]:[minute]:[second].[subsecond digits:3] [offset_hour sign:mandatory]:[offset_second]" # missing one of the message type enabling flag does not make start the logger debug.enabled = true info.enabled = true warning.enabled = true critical.enabled = true # fatal log types can not be disabled # missing of one of log message type key does not make start the logger, if it's empty then has the fallowing values: # debug.text = Debug # info.text = Info # warning.text = Warning # critical.text = Critical # fatal.text = Fatal debug.text = D info.text = I warning.text = W critical.text = C fatal.text = F # root log handler can not be empty or missing initialization error occurs root_log_handler = ROLLINGFILE # if external commands ip address are missing or wrong # a warning messag is printed-out an no commands will be managed # ip address could be unicast or multicast (IPV4 or IPV6) and you can specify # on wich interface multicast using external_command.multicast_if # i.g external_command.multicast_if = 192.168.207.128 # otherwise multicast message will be received on all network # interfaces external_command.ipaddress = 192.168.207.128 external_command.port = 54321 [ROLLINGFILE] type = file enabled = true # missing eanbled key means enabled = false # valid message format are (plain_text, json, json_pretty) # if this key is missing the plain_text format is used by default log_message_format = plain_text # GLOBAL message type enabling flags could be overwritten # i.g. # debug.enabled = false # info.enabled = false # GLOBAL message pattern could be overwritten # i.g. # pattern = <%{timestamp:utc} %{msg_type}, %{thread}, %{category}> %{message} # missing or empty remove_previous_logs is assumed = true remove_previous_logs = true # missing or empty remove_previous_logs is assumed = ./ directory = ../logs # basename could be any not empty value or you can use the following placholder # %{appname} application name as passed to initialize function # %{datetime:utc} start logging date # %{datetime:loc} start logging local time # datetime format is [year][month][day]_[hour][minute][second]_[offset_hour][offset_second]" basename = %{appname}_%{datetime:utc} # missing or empty extension is allowed (dot is automatically inserted if missed) extension = log # size cannot be missed or less than or equal to 0 # valid unit measure value are (case insensitive) # B # KB # MB # GB # TB maxsize = 4096B # dept has to be greater or equal to 1 and if missed is assumed = 3 depth = 3