вход в Python для нескольких файлов - PullRequest
10 голосов
/ 07 апреля 2011

Есть ли у кого-нибудь пример входа в python для двух или более разных файлов журналов.

Я хочу войти, например, в «/tmp/foo.log» и «/tmp/bar.log'

».

Заранее спасибо

T

Ответы [ 2 ]

15 голосов
/ 07 апреля 2011

Вот пример:

import logging
logger1 = logging.getLogger('1')
logger1.addHandler(logging.FileHandler('/tmp/logger1'))
logger2 = logging.getLogger('2')
logger2.addHandler(logging.FileHandler('/tmp/logger2'))

logger1.error('1')
logger2.error('2')

Тогда

 $ cat /tmp/logger1
 1
 $ cat /tmp/logger2
 2
4 голосов
/ 07 апреля 2011

Вот полный рабочий пример, основанный на примере в logging.html.Главное, на что следует обратить внимание, это то, что вы должны быть уверены, что установили уровень ведения журнала для корректного взаимодействия корневого регистратора с файлами.

import logging

logging.getLogger('').setLevel(logging.DEBUG)
def create_log_file(filename, level=logging.INFO):
    handler = logging.FileHandler(filename)
    handler.setLevel(level)
    formatter = logging.Formatter('%(asctime)s %(name)-12s %(levelname)-8s %(message)s')
    handler.setFormatter(formatter)
    logging.getLogger('').addHandler(handler)

create_log_file('/temp/log1.log', logging.DEBUG)
create_log_file('/temp/log2.log', logging.INFO)

# Now, we can log to the root logger, or any other logger. First the root...
logging.info('Jackdaws love my big sphinx of quartz.')

# Now, define a couple of other loggers which might represent areas in your
# application:

logger1 = logging.getLogger('myapp.area1')
logger2 = logging.getLogger('myapp.area2')

logger1.debug('Quick zephyrs blow, vexing daft Jim.')
logger1.info('How quickly daft jumping zebras vex.')
logger2.warning('Jail zesty vixen who grabbed pay from quack.')
logger2.error('The five boxing wizards jump quickly.')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...