> On Mar 15, 2019, at 21:46 , Ai Bo <boaisp...@gmail.com> wrote:
> 
> I am running a long running program. I would like to log the output.
> I have tried: 
>  ../sage-8.6/sage test.sage > test.log &
> 
> There is nothing written in test.log before the program finishes. 
> I tried to use tee, same problem.
> 
> I tried to add:
> f = open('test.log', 'w')
> 
> in my test.sage program, still nothing is written before the program finishes.
> 
> How to log a long running program?

The problem, I think, is that python uses buffered output.  I assume that you 
are using print statements, so (without knowing more), I would use
  sys.stdout.flush()
after each print, or after points in your program where the state is useful for 
debugging.

If I’ve made the wrong assumptions, let us know.

HTH

Justin

--
Justin C. Walker
Curmudgeon at Large
Director
Institute for the Enhancement of the Director's Income
--
Build a man a fire and he'll be warm
 for a night.
Set a man on fire and he'll be warm
 for the rest of his life.



-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to