Skip to content

Commit f9ec42e

Browse files
CarolusMagnusMoritz Carmesin
andauthored
Add always flush option (#36)
Co-authored-by: Moritz Carmesin <[email protected]>
1 parent aa6cdc5 commit f9ec42e

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

src/TerminalLogger.jl

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,19 +29,21 @@ struct TerminalLogger <: AbstractLogger
2929
meta_formatter
3030
show_limited::Bool
3131
right_justify::Int
32+
always_flush::Bool
3233
message_limits::Dict{Any,Int}
3334
sticky_messages::StickyMessages
3435
bartrees::Vector{Node{ProgressBar}}
3536
end
3637
function TerminalLogger(stream::IO=stderr, min_level=ProgressLevel;
3738
meta_formatter=default_metafmt, show_limited=true,
38-
right_justify=0)
39+
right_justify=0, always_flush=false)
3940
TerminalLogger(
4041
stream,
4142
min_level,
4243
meta_formatter,
4344
show_limited,
4445
right_justify,
46+
always_flush,
4547
Dict{Any,Int}(),
4648
StickyMessages(stream),
4749
Union{}[],
@@ -266,6 +268,10 @@ function handle_progress(logger, progress, kwargs)
266268
printstyled(logger.stream, donetxt; color=:light_black)
267269
println(logger.stream)
268270
end
271+
272+
if logger.always_flush
273+
flush(logger.stream)
274+
end
269275
end
270276

271277
function handle_message(logger::TerminalLogger, level, message, _module, group, id,
@@ -338,6 +344,11 @@ function handle_message(logger::TerminalLogger, level, message, _module, group,
338344
else
339345
write(logger.stream, msg)
340346
end
347+
348+
if logger.always_flush
349+
flush(logger.stream)
350+
end
351+
341352
nothing
342353
end
343354

0 commit comments

Comments
 (0)