fonsp / Pluto.jl

🎈 Simple reactive notebooks for Julia
https://plutojl.org/
MIT License
4.97k stars 287 forks source link

Sticky log messages #2971

Open danielwe opened 2 months ago

danielwe commented 2 months ago

I sometimes wish I could use @info to update an existing log message. Imagine the following, with each invocation of @info "..." sticky=true updating the same log card instead of adding a new one:

let
    keepgoing(i) = (i < rand(51:100))
    i = 1
    while keepgoing(i)
        @info "i = $i" sticky=true
        sleep(0.1)
        i += 1
    end
end

This is an example where it's impossible to calculate a % complete, so ProgressLogging is unsuitable, but I'd still like to see an indicator of forward progress. The sticky=true keyword seems to have some precedence from the old days of Juno, see https://github.com/JuliaLogging/ProgressLogging.jl/issues/23#issuecomment-594218835.

danielwe commented 1 month ago

Closing this in favor of a submission to the instant feedback box, sorry about the spam

fonsp commented 3 days ago

Interesting! Let's implement it!