python的log和print的区别_Python3使用logging代替print实现屏幕和文件同时输出

这个博客介绍了Python中使用logging模块创建日志类Log的实现,包括清理日志文件、设置日志级别和格式、以及如何记录多参数信息。示例展示了如何在不同场景下使用Log类进行日志记录,便于调试和问题排查。

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

文件列表

Log.py:

# -*- coding: utf-8 -*-

import logging, os

LOG_FILE = 'log.txt'

LOG_FORMAT = "%(message)s"

class Log():

def __init__(self, clean = False):

self.logger = logging.getLogger()

self.logger.setLevel(logging.DEBUG)

formatter = logging.Formatter(LOG_FORMAT)

if clean:

if os.path.isfile(LOG_FILE):

with open(LOG_FILE, 'w') as f:

pass

fh = logging.FileHandler(LOG_FILE)

fh.setLevel(logging.DEBUG)

fh.setFormatter(formatter)

ch = logging.StreamHandler()

ch.setLevel(logging.DEBUG)

ch.setFormatter(formatter)

self.logger.addHandler(ch)

self.logger.addHandler(fh)

def log(self, *args):

s = ''

for i in args:

s += (str(i) + ' ')

logging.debug(s)

log = Log(True)

def test():

log.log('aaa')

log.log('bbb', 3)

log.log('ccc %.2f CCC' % (3.1415926))

log.log('ddd', 'ee %.2f fff' % (3.1415926))

if __name__ == '__main__':

test()

>python Log.py

aaa

bbb 3

ccc 3.14 CCC

ddd ee 3.14 fff

test.ypy

from Log import log

def test():

log.log('aaa')

log.log('bbb', 3)

log.log('ccc %.2f CCC' % (3.1415926))

log.log('ddd', 'ee %.2f fff' % (3.1415926))

if __name__ == '__main__':

test()

>python Log.py

aaa

bbb 3

ccc 3.14 CCC

ddd ee 3.14 fff

log文件内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值