On Fri, Nov 21, 2014 at 9:48 PM, Ganesh Pal <ganesh1...@gmail.com> wrote: > Please provide your input on the below questions. > > (1). How do i guarantee that all console messages will be logged into the > logfile ? > (2) I feel the need to retain few print(), how do I ensure the print() > messages are also logged into the log file.
If you're using Python 3, you can shadow print() with your own function. The logging functions don't have the same signature, so you'd need to write a wrapper (or else stick to a strict policy of "one argument to print() and it must be a string"), but it's certainly possible. But part of the point of the logging module is that it's not the same as console messages: you can reduce log spam by changing the logging level. So no, you don't have a guarantee that all console messages will be logged to the log file. If you want that, I would suggest a process-level wrapper - something which invokes a subprocess with redirected stdout and/or stderr - or, at very least, a startup routine that does the redirection (which will have similar effect, except that it can't catch startup failure messages from Python itself). ChrisA -- https://mail.python.org/mailman/listinfo/python-list