Для логирования в состав Python входит модуль logging
. Пример использования.
В файл пишутся сообщения уровня DEBUG и выше. В консоль выводится уровень INFO и выше.
import logging
import logging.handlers
# create logger with 'spam_application'
logger = logging.getLogger('MY_SCRIPT')
logger.setLevel(logging.DEBUG)
# create file handler which logs even debug messages
logfile = logging.FileHandler('example.log')
logfile.setLevel(logging.DEBUG)
logfile.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s",
datefmt='[%Y-%m-%d - %H:%M:%S]'))
# create console handler with a higher log level
console = logging.StreamHandler()
console.setLevel(logging.INFO)
console.setFormatter(logging.Formatter('[%(levelname)s] %(message)s'))
# Syslog
syslog = logging.handlers.SysLogHandler(address='/dev/log', facility='daemon')
syslog.setFormatter(logging.Formatter('%(name)s[{0}]: [%(levelname)s] %(message)s'
.format(PID)))
# add the handlers to the logger
logger.addHandler(logfile)
logger.addHandler(console)
logger.addHandler(syslog)
# Test message
logger.info('Test INFO message')
logget.debug('Test DEBUG message')
Ссылки: