- :
import sys
import logging
def create_logger():
logger = logging.getLogger('automated_testing')
logger.setLevel(logging.DEBUG)
fh = logging.FileHandler('results.log', mode='w')
fh.setLevel(logging.DEBUG)
ch = logging.StreamHandler(stream=sys.stdout)
ch.setLevel(logging.INFO)
formatter = logging.Formatter('[%(asctime)s] %(levelname)8s --- %(message)s ' +
'(%(filename)s:%(lineno)s)',datefmt='%Y-%m-%d %H:%M:%S')
fh.setFormatter(formatter)
ch.setFormatter(formatter)
logger.addHandler(ch)
logger.addHandler(fh)
return logger
logger = create_logger()
logger.log(logging.NOTSET, "NOTSET Message - 0")
logger.log(logging.DEBUG, "DEBUG Message - 10")
logger.log(logging.INFO, "INFO Message - 20")
logger.log(logging.WARNING, "WARNING Message - 30")
logger.log(logging.CRITICAL, "CRITICAL Message - 40")
stdout:
[2015-03-16 17:51:08] INFO --- INFO Message - 20 (temp3.py:34)
[2015-03-16 17:51:08] WARNING --- WARNING Message - 30 (temp3.py:35)
[2015-03-16 17:51:08] CRITICAL --- CRITICAL Message - 40 (temp3.py:36)
( ) .log:
[2015-03-16 17:51:08] DEBUG --- DEBUG Message - 10 (temp3.py:33)
[2015-03-16 17:51:08] INFO --- INFO Message - 20 (temp3.py:34)
[2015-03-16 17:51:08] WARNING --- WARNING Message - 30 (temp3.py:35)
[2015-03-16 17:51:08] CRITICAL --- CRITICAL Message - 40 (temp3.py:36)
DEBUG + .txt, INFO + stdout.
, NOTSET , , .