@@ -12,7 +12,7 @@ import ..LogCompose: logcompose, log_min_level
12
12
13
13
logcompose (:: Type{Logging.NullLogger} , config:: Dict{String,Any} , logger_config:: Dict{String,Any} ) = Logging. NullLogger ()
14
14
15
- function logcompose (:: Type{T } , config:: Dict{String,Any} , logger_config:: Dict{String,Any} ) where {T <: Union{Logging.SimpleLogger, Logging.ConsoleLogger} }
15
+ function logcompose (:: Type{Logging.SimpleLogger } , config:: Dict{String,Any} , logger_config:: Dict{String,Any} )
16
16
level = log_min_level (logger_config, " Info" )
17
17
18
18
streamname = strip (get (logger_config, " stream" , " stdout" ))
@@ -22,7 +22,34 @@ function logcompose(::Type{T}, config::Dict{String,Any}, logger_config::Dict{Str
22
22
streamname == " stderr" ? stderr :
23
23
open (streamname, " a+" )
24
24
25
- T (stream, level)
25
+ Logging. SimpleLogger (stream, level)
26
+ end
27
+
28
+ function logcompose (:: Type{Logging.ConsoleLogger} , config:: Dict{String,Any} , logger_config:: Dict{String,Any} )
29
+ level = log_min_level (logger_config, " Info" )
30
+
31
+ streamname = strip (get (logger_config, " stream" , " stdout" ))
32
+ @assert ! isempty (streamname)
33
+
34
+ stream = streamname == " stdout" ? stdout :
35
+ streamname == " stderr" ? stderr :
36
+ open (streamname, " a+" )
37
+
38
+ color = get (logger_config, " color" , nothing )
39
+ color === nothing || (stream = IOContext (stream, :color => color))
40
+
41
+ displaysize = get (logger_config, " displaysize" , nothing )
42
+ if displaysize != = nothing
43
+ if ! (displaysize isa AbstractVector{Int}) || length (displaysize) != 2
44
+ error (" Expected [height,width] but got displaysize=$displaysize " )
45
+ end
46
+ stream = IOContext (stream, :displaysize => Tuple (displaysize))
47
+ end
48
+
49
+ show_limited = get (logger_config, " show_limited" , true )
50
+ color isa Bool || error (" Expected boolean but got show_limited=$show_limited " )
51
+
52
+ Logging. ConsoleLogger (stream, level; show_limited= show_limited)
26
53
end
27
54
28
55
end # module Connectors
0 commit comments