Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to print progressbar when redirecting output to file? #530

Open
c19 opened this issue Apr 7, 2023 · 4 comments
Open

How to print progressbar when redirecting output to file? #530

c19 opened this issue Apr 7, 2023 · 4 comments

Comments

@c19
Copy link

c19 commented Apr 7, 2023

I'm using this to run my program: nohup ./target/release/main > main.log &.

But this cause all the progressbars are gone from the logfile. Any method to preserve it?

@chris-laplante
Copy link
Collaborator

I don't think there is anything built-in to indicatif to support this. You may however give unbuffer (https://linux.die.net/man/1/unbuffer) a try. That might do what you want.

@djc
Copy link
Collaborator

djc commented May 9, 2023

indicatif more or less inherits this behavior from the console crate which it uses under the cover. An indicatif ProgressDrawTarget can be initialized using a caller-provided console::Term (but a cursory reading of the console API did not allow me to find an option to override their detection of whether the used file descriptor is a terminal).

@nyurik
Copy link

nyurik commented Nov 25, 2023

@djc I think most of the CLI apps are also used in non-interactive (headless?) mode, and could use some support from indicatif. Even without the auto-detection support, would it make sense to have a "linear log" formatter? It could print current status: 5% out of 100% style messages instead of using ansi control characters once per (second/minute/10min/...?). I have seen this behavior with aria2c, wget, and possibly others.

@djc
Copy link
Collaborator

djc commented Dec 13, 2023

Well, if someone wants to propose a design for something like that I'd be willing to review it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants