logging日志模块

1.捕获异常并写入日志

import logging

obj = logging.basicConfig(   # 这里用basicConfig是配置,如果要打印到多个文件中是不行的,必须自定义
    filename='1x.txt',        # 要写入的文件名,这里如果没设置写入模式会默认追加a模式,要设置模式可以用filemode=
    format = '%(asctime)s - %(name)s - %(levelname)s - %(module)s:  %(message)s %(pathname)s ',
      datefmt='%Y-%m-%d %H:%M:%S',   # 时间格式化
    level=logging.DEBUG,  # 设置写入的日志级别,不设置会默认到warning
                            # 日志级别等级CRITICAL > ERROR > WARNING > INFO > DEBUG

)

import traceback
def func():
    try:
        a=a+1

    except Exception as e:
        # 获取当前错误的堆栈信息
        mg = traceback.format_exc()
        logging.error(mg)
func()

2.这里format中的一些格式化:

asctime 时间,有默认的格式

name 操作的用户名

levename 日志的级名

module 所在模块名

message 日志等级的标志

level 定义级数

pathname 打印当前执行程序的路径

lineno 打印日志的当前函数

 

3.日志写入多个文件的时候

import logging

file_handle = logging.FileHandler('1x.txt',encoding='UTF-8')  # 设置写入的文件名

log_fmt = logging.Formatter(fmt='%(asctime)s %(name)s %(levelname)s %(module)s : %(message)s ')  # 设置写入格式
file_handle.setFormatter(log_fmt)

loggin1 = logging.Logger(name='x1',level=logging.ERROR)
loggin1.addHandler(file_handle)

loggin1.error('12314')


file_handle2 = logging.FileHandler('2x.txt',encoding='UTF-8')  # 设置写入的文件名

log_fmt2 = logging.Formatter(fmt='%(asctime)s %(name)s %(levelname)s %(module)s : %(message)s ')  # 设置写入格式
file_handle2.setFormatter(log_fmt)

loggin2 = logging.Logger(name='x1',level=logging.ERROR)
loggin2.addHandler(file_handle)

loggin2.error('12314')

 

转载于:https://www.cnblogs.com/whileke/p/11402837.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Python中,可以使用logging模块来记录日志信息,方便程序员在开发和生产环境中进行调试和问题排查。logging模块提供了全局配置方法,可以通过配置来控制日志的格式、输出方式和级别等。 下面是一个简单的例子,展示如何使用logging模块进行全局配置: ``` import logging # 配置日志格式 formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s') # 创建一个StreamHandler,用于输出到控制台 console_handler = logging.StreamHandler() console_handler.setFormatter(formatter) # 创建一个FileHandler,用于输出到文件 file_handler = logging.FileHandler('example.log') file_handler.setFormatter(formatter) # 创建一个Logger实例 logger = logging.getLogger('example') logger.setLevel(logging.DEBUG) # 将StreamHandler和FileHandler添加到Logger实例中 logger.addHandler(console_handler) logger.addHandler(file_handler) ``` 在上面的例子中,首先创建了一个Formatter对象,用于配置日志的格式。然后,创建了一个StreamHandler和FileHandler,分别用于将日志输出到控制台和文件中。接下来,创建了一个Logger实例,并设置了日志级别为DEBUG。最后,将StreamHandler和FileHandler添加到Logger实例中。 通过全局配置,可以方便地控制日志的输出方式和级别。在程序中,只需要使用logger对象来记录日志即可,例如: ``` logger.debug('debug message') logger.info('info message') logger.warning('warning message') logger.error('error message') logger.critical('critical message') ``` 通过上述配置,日志信息将输出到控制台和文件中,并且可以根据需要调整日志级别。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值