альтернативы регистрации Python - PullRequest
12 голосов
/ 07 октября 2010

Модуль регистрации Python неудобен в использовании Есть ли более элегантная альтернатива? Интеграция с настольными уведомлениями была бы плюсом.

Ответы [ 4 ]

7 голосов
/ 07 октября 2010

Вы можете посмотреть на Твигги , это ранняя попытка построить более питонную альтернативу модулю регистрации.

4 голосов
/ 26 сентября 2016

Возможно, вы захотите взглянуть на pysimplelog .Это чистый python, очень простой в использовании, pip устанавливается и предоставляет то, что вам нужно

from pysimplelog import Logger
L=Logger()
print L
>>> Logger (Version 0.2.1)
>>> log type  |log name  |level     |std flag  |file flag |
>>> ----------|----------|----------|----------|----------|
>>> debug     |DEBUG     |0.0       |True      |True      |
>>> info      |INFO      |10.0      |True      |True      |
>>> warn      |WARNING   |20.0      |True      |True      |
>>> error     |ERROR     |30.0      |True      |True      |
>>> critical  |CRITICAL  |100.0     |True      |True      |

L.info('I am an info')
>>> 2016-09-26 15:01:17 - logger <INFO> I am an info

L.warn('I am a warning')
>>> 2016-09-26 15:01:17 - logger <WARNING> I am a warning

L.error('I am an error')
>>> 2016-09-26 15:01:17 - logger <ERROR> I am an error

, и с этими параметрами файл 'simplelog.log' будет создан и обновлен автоматически для вас

1 голос
/ 05 сентября 2018

Оформить заказ Журнал , с ним гораздо приятнее работать.

Бортовой журнал упоминался в комментарии, но заслуживает своего ответа.

0 голосов
/ 31 октября 2015
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import logging
import logging.handlers
from logging.config import dictConfig

logger = logging.getLogger(__name__)

DEFAULT_LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
}
def configure_logging(logfile_path):
    """
    Initialize logging defaults for Project.

    :param logfile_path: logfile used to the logfile
    :type logfile_path: string

    This function does:

    - Assign INFO and DEBUG level to logger file handler and console handler

    """
    dictConfig(DEFAULT_LOGGING)

    default_formatter = logging.Formatter(
        "[%(asctime)s] [%(levelname)s] [%(name)s] [%(funcName)s():%(lineno)s] [PID:%(process)d TID:%(thread)d] %(message)s",
        "%d/%m/%Y %H:%M:%S")

    file_handler = logging.handlers.RotatingFileHandler(logfile_path, maxBytes=10485760,backupCount=300, encoding='utf-8')
    file_handler.setLevel(logging.INFO)

    console_handler = logging.StreamHandler()
    console_handler.setLevel(logging.DEBUG)

    file_handler.setFormatter(default_formatter)
    console_handler.setFormatter(default_formatter)

    logging.root.setLevel(logging.DEBUG)
    logging.root.addHandler(file_handler)
    logging.root.addHandler(console_handler)



[31/10/2015 22:00:33] [DEBUG] [yourmodulename] [yourfunction_name():9] [PID:61314 TID:140735248744448] this is logger infomation from hello module

вы можете настроить файл журнала с консолью и файлом, я не думаю, что настольное уведомление является хорошей идеей, вы можете просмотреть информацию журнала из консоли и файлов журнала

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