python日志替代品

问题描述 投票:11回答:4

Python logging module使用起来很麻烦。有更优雅的选择吗?与桌面通知集成将是一个加号。

python logging notifications
4个回答
7
投票

您可以查看Twiggy,这是一个早期阶段尝试构建一个更加pythonic替代日志记录模块。


4
投票

你可能想看看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
投票

结帐logbook,它更好用。

在评论中提到了日志,但它应该得到自己的答案。


0
投票
#!/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

你可以使用控制台和文件配置日志文件,我不认为桌面通知是个好主意,你可以从控制台和日志文件中看到日志信息

© www.soinside.com 2019 - 2024. All rights reserved.