11module Connectors
22
33using .. LogCompose
4- import .. LogCompose: logcompose, log_min_level
4+ import .. LogCompose: logcompose, log_min_level, log_assumed_level
55
66using Logging, LogRoller, SyslogLogging, LoggingExtras, Sockets
77
@@ -40,10 +40,10 @@ function logcompose(::Type{SyslogLogging.SyslogLogger}, config::Dict{String,Any}
4040 if (server_type == " tcp" ) || (server_type == " udp" )
4141 kwargs[:tcp ] = (server_type == " tcp" )
4242 if haskey (logger_config, " server_host" )
43- kwargs[:host ] = Sockets . IPv4 ( logger_config[" server_host" ])
43+ kwargs[:host ] = logger_config[" server_host" ]
4444 end
4545 if haskey (logger_config, " server_port" )
46- kwargs[:port ] = parse (Int, logger_config[" server_port" ])
46+ kwargs[:port ] = logger_config[" server_port" ]
4747 end
4848 end
4949 SyslogLogging. SyslogLogger (ident, level; kwargs... )
@@ -61,6 +61,18 @@ function logcompose(::Type{LogRoller.RollingLogger}, config::Dict{String,Any}, l
6161 LogRoller. RollingLogger (filename, sizelimit, nfiles, level; timestamp_identifier= timestamp_identifier)
6262end
6363
64+ function logcompose (:: typeof (LogRoller. RollingFileWriterTee), config:: Dict{String,Any} , logger_config:: Dict{String,Any} )
65+ filename = String (strip (logger_config[" filename" ]))
66+ @assert ! isempty (filename)
67+
68+ level = log_assumed_level (logger_config, " Info" )
69+ sizelimit = get (logger_config, " sizelimit" , 10240000 )
70+ nfiles = get (logger_config, " nfiles" , 5 )
71+ destination_name = logger_config[" destination" ]
72+ destination = LogCompose. logger (config, destination_name)
73+ LogRoller. RollingFileWriterTee (filename, sizelimit, nfiles, destination, level)
74+ end
75+
6476function logcompose (:: Type{LoggingExtras.TeeLogger} , config:: Dict{String,Any} , logger_config:: Dict{String,Any} )
6577 destinations = [LogCompose. logger (config, dest) for dest in logger_config[" destinations" ]]
6678 LoggingExtras. TeeLogger (destinations... )
0 commit comments