[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 = UDP_HANDLER
# 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 = 127.0.0.1
# otherwise multicast message will be received on all network
# interfaces
external_command.ipaddress = 127.0.0.1
external_command.port = 54321
[UDP_HANDLER]
type = network
enabled = true # missing eanbled key means enabled = false
log_message_format = plain_text # valid message format are (plain_text, json, json_pretty)
# 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 protocols are: udp, mcast, tcp (NOTE: case insensitive), it cannot be missed or empty
protocol = mcast
# remote_address could be an IpV4 or IpV6 address, it cannot be missed or empty
remote_address = 224.0.0.200
multicast_if = 192.168.1.184
# remote_port has to be a number in range 1 to 65535 it cannot be missed or empty
remote_port = 8000