使用python如何对日志进行处理 (代码)


本文摘自php中文网,作者不言,侵删。

本篇文章给大家带来的内容是关于使用python如何对日志进行处理 (代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
平时做数据处理基本离不了日志记录功能。每次都配置一堆挺烦人,索性封装个模块,这里记录一下,与大家共享。

说明

本日志模块目前只有一个方法getLogger,其他配置项通过参数传递,包括日志文件名,等级,日志文件划分方式,日志清除配置,日志格式等。

logger.py

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

import loggin

gfrom logging import handlers

# 日志级别字典

__level_dict = {   

'critical': logging.CRITICAL,   

'fatal': logging.CRITICAL,   

'error': logging.ERROR,  

 'warning': logging.WARNING,   

 'warn': logging.WARNING,  

  'info': logging.INFO,   

  'debug': logging.DEBUG

}

def getLogger(filename, level='info', when='D', backupCount=3,

              fmt='%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s'):

    """

    获取日志处理对象

 

    :param filename: 日志文件名称

    :param level: 日志等级:debug, info, warn/warning, error, critical

    :param when: 日志文件分割的时间单位,单位有以下几种:<br>

                - S 秒<br>

                - M 分<br>

                - H 小时<br>

                - D 天<br>

                - W 每星期<br>

                - midnight 每天凌晨<br>

    :param backupCount: 备份文件的个数,如果超过这个数量,就会自动删除

    :param fmt: 日志信息格式

    :return:

    """

    level = __level_dict.get(level.lower(), None)

    logger = logging.getLogger(filename)    # 设置日志格式

    format_str = logging.Formatter(fmt)    # 设置日志级别

    logger.setLevel(level)    # 控制台输出

    console_handler = logging.StreamHandler()    # 控制台输出的格式

    console_handler.setFormatter(format_str)

    logger.addHandler(console_handler)    # 文件输出

    file_handler = handlers.TimedRotatingFileHandler(filename=filename, when=when, backupCount=backupCount,

                                                     encoding='utf-8')    # 文件输出的格式

    file_handler.setFormatter(format_str)

    logger.addHandler(file_handler)    return loggerif __name__ == '__main__':

    log = getLogger('test.log')

    log.debug('debug')

    log.info('info')

    log.warning('警告')

    log.error('报错')

    log.critical('严重')

    getLogger('error.log', level='error').error('error')


运行结果

2018-09-06 17:07:40,909 - D:/jetbrains/workspace-pycharm/test/logger.py[line:59] - INFO: info
2018-09-06 17:07:40,909 - D:/jetbrains/workspace-pycharm/test/logger.py[line:60] - WARNING: 警告
2018-09-06 17:07:40,909 - D:/jetbrains/workspace-pycharm/test/logger.py[line:61] - ERROR: 报错
2018-09-06 17:07:40,910 - D:/jetbrains/workspace-pycharm/test/logger.py[line:62] - CRITICAL: 严重

2018-09-06 17:07:40,915 - D:/jetbrains/workspace-pycharm/test/logger.py[line:63] - ERROR: erro

相关推荐:

Python简单日志处理类分享

如何使用python对数据库(mysql)进行操作

以上就是使用python如何对日志进行处理 (代码)的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python fd是什么意思

json在Python中的使用介绍

介绍Python判断一个数是不是正小数和整数的方法

Python实现按当前日期(年、月、日)创建多级目录的方法

windows上使用Python增加或删除权限的方法

Python int什么意思

Python怎么表示八进制

Python代码运行结果的显示

Python语言是由哪个人创造的

如何截取一个字符串获得子串

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...