python 通过logging写入日志到文件和控制台的实例


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

下面为大家分享一篇python 通过logging写入日志到文件和控制台的实例,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧

如下所示:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

import logging

 

# 创建一个logger

logger = logging.getLogger('mylogger')

logger.setLevel(logging.DEBUG)

# 创建一个handler,用于写入日志文件

fh = logging.FileHandler('test.log')

fh.setLevel(logging.DEBUG)

# 再创建一个handler,用于输出到控制台

ch = logging.StreamHandler()

ch.setLevel(logging.DEBUG)

# 定义handler的输出格式

formatter = logging.Formatter('[%(asctime)s][%(thread)d][%(filename)s][line: %(lineno)d][%(levelname)s] ## %(message)s')

fh.setFormatter(formatter)

ch.setFormatter(formatter)

# 给logger添加handler

logger.addHandler(fh)

logger.addHandler(ch)

# 记录一条日志

logger.info('foorbar')

关于formatter的配置,采用的是%(<dict key>)s的形式,就是字典的关键字替换。提供的关键字包括:

FormatDescription
%(name)sName of the logger (logging channel).
%(levelno)sNumeric logging level for the message (DEBUG, INFO, WARNING, ERROR, CRITICAL).
%(levelname)sText logging level for the message ('DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL').
%(pathname)sFull pathname of the source file where the logging call was issued (if available).
%(filename)sFilename portion of pathname.
%(module)sModule (name portion of filename).
%(funcName)sName of function containing the logging call.
%(lineno)dSource line number where the logging call was issued (if available).
%(created)fTime when the LogRecord was created (as returned by time.time()).
%(relativeCreated)dTime in milliseconds when the LogRecord was created, relative to the time the logging module was loaded.
%(asctime)sHuman-readable time when the LogRecord was created. By default this is of the form “2003-07-08 16:49:45,896” (the numbers after the comma are millisecond portion of the time).
%(msecs)dMillisecond portion of the time when the LogRecord was created.
%(thread)dThread ID (if available).
%(threadName)sThread name (if available).
%(process)dProcess ID (if available).
%(message)sThe logged message, computed as msg % args.

相关推荐:

阅读剩余部分

相关阅读 >>

Python用pillow(pil)进行图像操作实例

microPython选哪个好?

Python对比数组元素区别的方法

Python函数有哪些?

Python if有多个条件怎么办

Python学习】文件操作

Python实现校园网自动登录

Python续行符是什么

字符串格式化 % vs format哪种更好

如何使用Python压缩/解压缩zip文件?(代码示例)

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




打赏

取消

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

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

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

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

评论

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