|
1 | 1 | module Logs |
2 | 2 |
|
3 | | -using ProgressLogging: asprogress |
| 3 | +using ProgressLogging: asprogress, ProgressLevel |
4 | 4 | using InteractiveUtils |
5 | 5 | using Dates: Dates |
6 | 6 | using Logging |
@@ -78,7 +78,7 @@ function TermLogger(io::IO, theme::Theme = TERM_THEME[]) |
78 | 78 | end |
79 | 79 |
|
80 | 80 | # set logger beavior |
81 | | -Logging.min_enabled_level(logger::TermLogger) = Logging.Info |
| 81 | +Logging.min_enabled_level(logger::TermLogger) = ProgressLevel |
82 | 82 |
|
83 | 83 | Logging.shouldlog(logger::TermLogger, level, _module, group, id) = true |
84 | 84 | Logging.catch_exceptions(logger::TermLogger) = true |
@@ -146,10 +146,12 @@ function handle_progress(logger::TermLogger, prog) |
146 | 146 |
|
147 | 147 | # render |
148 | 148 | if all(map(j -> j.finished, pbar.jobs)) |
149 | | - map(j -> removejob!(pbar, j), pbar.jobs) |
| 149 | + while length(pbar.jobs) > 0 |
| 150 | + removejob!(pbar, first(pbar.jobs)) |
| 151 | + end |
150 | 152 | stop!(pbar) |
151 | 153 | else |
152 | | - render(pbar) |
| 154 | + render(pbar, logger.io) |
153 | 155 | end |
154 | 156 | end |
155 | 157 |
|
@@ -322,8 +324,10 @@ function Logging.handle_message( |
322 | 324 | _progress = asprogress(lvl, msg, _mod, group, id, file, line; kwargs...) |
323 | 325 | isnothing(_progress) || return handle_progress(logger, _progress) |
324 | 326 |
|
325 | | - # generate log |
| 327 | + # generate log |
326 | 328 | logged = sprint(print_log_message, logger, lvl, msg, _mod, file, line, kwargs) |
| 329 | + write(logger.io, logged) |
| 330 | + flush(logger.io) |
327 | 331 |
|
328 | 332 | # restore stdout |
329 | 333 | NOCOLOR[] && (logged = cleantext(logged)) |
|
0 commit comments