美文网首页python碎碎念
在python程序中添加日志功能

在python程序中添加日志功能

作者: 你说你要一场 | 来源:发表于2019-06-13 17:58 被阅读0次
import logging

logging.basicConfig(level=logging.DEBUG,#控制台打印的日志级别
                    filename='new.log',
                    filemode='a',##模式,有w和a,w就是写模式,每次都会重新写日志,覆盖之前的日志
                    #a是追加模式,默认如果不写的话,就是追加模式
                    format=
                    '%(asctime)s -  %(levelname)s: %(message)s'
                    #日志格式
                    )

要打印信息的地方用 logging.info()

注意:

basicConfig里level设置没问题,大于等于它的都要输出。
但是当有log文件时,它就不再向终端打印了。

同时输出方法:

import logging
logging.basicConfig(format='%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s',
                    level=logging.INFO,filename='new2.log')
console = logging.StreamHandler()
console.setLevel(logging.INFO)
formatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s')
console.setFormatter(formatter)
logging.getLogger('').addHandler(console)

logging.debug('debug 信息')
logging.info('info 信息')
logging.warning('warning 信息')
logging.error('error 信息')
logging.critical('critial 信息')

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.')

终端效果:

h@h-B360M-D2VX-SI:~/models/公司项目/3.智能客服$ python3 test_logging.py 
root        : INFO     info 信息
root        : WARNING  warning 信息
root        : ERROR    error 信息
root        : CRITICAL critial 信息
myapp.area1 : INFO     How quickly daft jumping zebras vex.
myapp.area2 : WARNING  Jail zesty vixen who grabbed pay from quack.
myapp.area2 : ERROR    The five boxing wizards jump quickly.
h@h-B360M-D2VX-SI:~/models/公司项目/3.智能客服$ 

log文件中的效果:

2019-06-13 19:14:31,883 - test_logging.py[line:11] - INFO: info 信息
2019-06-13 19:14:31,883 - test_logging.py[line:12] - WARNING: warning 信息
2019-06-13 19:14:31,883 - test_logging.py[line:13] - ERROR: error 信息
2019-06-13 19:14:31,883 - test_logging.py[line:14] - CRITICAL: critial 信息
2019-06-13 19:14:31,883 - test_logging.py[line:20] - INFO: How quickly daft jumping zebras vex.
2019-06-13 19:14:31,883 - test_logging.py[line:21] - WARNING: Jail zesty vixen who grabbed pay from quack.
2019-06-13 19:14:31,883 - test_logging.py[line:22] - ERROR: The five boxing wizards jump quickly.

可见在终端里还可以给每个日志加上模块。

简言之,加上

console = logging.StreamHandler()
console.setLevel(logging.INFO)
formatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s')
console.setFormatter(formatter)
logging.getLogger('').addHandler(console)

就可以同时输出了。

相关文章

  • 在python程序中添加日志功能

    要打印信息的地方用 logging.info() 注意: basicConfig里level设置没问题,大于等于它...

  • python 日志 logging 使用

    python logging 库用来在程序中添加日志输出,可以保存日志至文件,设定输出等级等。 导入模块和基础设置...

  • python logging模块使用

    参考资料 Python之日志处理(logging模块) Python之向日志输出中添加上下文信息 Python之配...

  • spring boot日志系统

    简介 本博客介绍了springBoot的日志部分功能 在pom文件中引入maven依赖 配置文件添加日志信息 在r...

  • SLF4J日志级别以及使用场景

    为什么要使用日志 在项目开发的过程中, 添加合适的日志是一个必不可少的过程,给程序添加合适的日志有以下两个好处。 ...

  • 小程序客服消息怎么做?点击不同按钮回复不同内容

    一、添加小程序客服按钮 ① 在小程序中添加客服按钮功能,点此参考官方文档 (开发者通过一行代码,就能实现客服功能。...

  • 简单的 Golang 多色日志包

    比较简约的多色日志包,没有特别多的功能,仅提供在终端输出彩色日志的功能。 使用 在go.mod文件中添加log包:...

  • java日志篇(1)-日志概述

    慢慢来比较快,虚心学技术 原文链接:java日志篇(1)-日志概述 日志 在应用程序中添加日志记录总的来说基于三个...

  • Python——logging模块

    很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误、警告等信息输出,python...

  • Mypy:Python静态类型

    什么是Mypy Mypy是Python的可选静态类型检查器。您可以在Python程序中添加类型提示(PEP 484...

网友评论

    本文标题:在python程序中添加日志功能

    本文链接:https://www.haomeiwen.com/subject/ldcefctx.html