mdlogger 0.1.2

Multi-device logging system library crate
Documentation
[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 = CONSOLE


[CONSOLE]
type = console
enabled = true # missing eanbled key means enabled = false

# valid message format are (plain_text, json, json_pretty) missing or wrong format = plain_text
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}

# valid redirection are: stdout, stderr, both (NOTE: case insensitive)
debug.redirection = stdout
info.redirection = stdout
warning.redirection = stdou
critical.redirection = both
fatal.redirection = both
# empty or missing next key stops the log handler chain
next =