6

Let's say I have a script like the following, and I can't edit it:

import logging

logger = logging.getLogger('simple_example')
logger.setLevel(logging.DEBUG)

handler = logging.StreamHandler()

logger.addHandler(handler)

logger.debug('debug log')
logger.info('info log')
logger.warning('warning log')
logger.error('error log')

later I call this script with:

python log_example.py > file.log

But it isn't populating the file.log file, but outputting the logs in console.

Q: Is there a way to, despite configuring logging handler to StreamHandler, still output the logs into a file from command line?

eLRuLL
  • 18,488
  • 9
  • 73
  • 99

1 Answers1

8

Try the &> syntax, as in Pijnappel's answer to this question. This redirects all output (not just stdout) to the file.

python log_example.py &> file.log
Community
  • 1
  • 1
user3558515
  • 494
  • 1
  • 3
  • 10