Python: вход в файл, а также сделать sys.stdout - PullRequest
0 голосов
/ 10 марта 2012

Мне нужно написать функцию, которая регистрирует файл (используя модуль регистрации), а также одновременно печатает тот же контент на консоли.

Что у меня есть:

def printScreenAndLog(msg):
   log = logging.getLogger()
   log.info(msg)
   now = str(datetime.datetime.now())
   print now,"%s" % msg

def main():
   options, args = usage()
   log = logging.getLogger("CMDR")

   log.setLevel(logging.DEBUG)
   fh = logging.FileHandler('cmdr.log')
   fh.setLevel(logging.DEBUG)
   formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
   fh.setFormatter(formatter)
   log.addHandler(fh)

   printScreenAndLog("Testing")

if __name__ == "__main__":
   main()

Ответы [ 2 ]

1 голос
/ 05 декабря 2013

Эта функция должна делать то, что вам нужно:

def configure_logging():
    log_format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'

    # log to stdout
    logging.basicConfig(level=logging.DEBUG, format=log_format)

    # also log to file
    formatter = logging.Formatter(log_format)
    handler = logging.FileHandler("cmdr.log")
    handler.setLevel(logging.DEBUG)
    handler.setFormatter(formatter)
    logging.getLogger('').addHandler(handler)
0 голосов
/ 10 марта 2012

Вы пытались установить уровень ведения журнала для информации вместо отладки?
или использовать log.debug (msg) в вашей функции printScreenAndLog?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...