Python 日志记录 log

本文介绍了一个使用Python logging模块的日志配置示例,展示了如何定义不同级别的日志输出,并将日志信息分别输出到文件和控制台。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#! /usr/bin/python3.4

'''
logger对象相当于是写日志的人
hand处理器相当于是写日志的规则
'''

import logging
import datetime

def my_log_record(my_logger,my_formatter):

	fh = logging.FileHandler("my.log",'w');
	fh.setFormatter(my_formatter);
	fh.setLevel(logging.DEBUG);
	
	return fh;	


def my_log_show(my_loggger,my_formatter):	

	ch = logging.StreamHandler();
	ch.setFormatter(my_formatter);
	ch.setLevel(logging.WARNING);
	
	return ch;


if __name__ == '__main__':

	my_logger = logging.getLogger('log'); #创建logger对象
	record_formatter = logging.Formatter("%(asctime)s  %(name)s -> %(levelname)-8s -> %(pathname)-8s-%(filename)-8s  -> %(module)s:     %(message)s","%Y-%m-%d %H:%M:%S");#创建记录格式
	show_formatter = logging.Formatter("%(asctime)s:    %(message)s","%H:%M:%S");	#创建显示格式
		
	show_log = my_log_show(my_logger,show_formatter);
	file_log = my_log_record(my_logger,record_formatter);

	my_logger.addHandler(show_log); # 添加记录处理器
	my_logger.addHandler(file_log); # 添加显示处理器

	my_logger.critical("sorry"); 
	my_logger.error("hello");
	my_logger.warning("why");
	my_logger.info("yet");
	my_logger.debug("my"); 

my.log文件:

2019-03-19 16:27:46  log -> CRITICAL -> log.py  -log.py    -> log:     sorry
2019-03-19 16:27:46  log -> ERROR    -> log.py  -log.py    -> log:     hello
2019-03-19 16:27:46  log -> WARNING  -> log.py  -log.py    -> log:     why

终端显示:

16:00:20:    sorry
16:00:20:    hello
16:00:20:    why

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值