Python 将日志信息作为参数传递给函数

Python 将日志信息作为参数传递给函数,python,logging,Python,Logging,我使用的Python库使用日志记录模块。但是,我自己创建了脚本内部使用的log函数 下面是我想利用的日志功能: def日志(名称、内容、swtch:bool=None、time=None): time=time或datetime.now(pytz.timezone('US/Pacific')) 如果swtch==真或swtch==无: toPrint={1.RED}{2}/{3}/{4}{5}:{6}:{7}:{8}{9}{0.BRIGHT}{1.GREEN}{10}{0.RESET{11}{0

我使用的Python库使用
日志记录
模块。但是,我自己创建了脚本内部使用的
log
函数

下面是我想利用的日志功能:

def日志(名称、内容、swtch:bool=None、time=None):
time=time或datetime.now(pytz.timezone('US/Pacific'))
如果swtch==真或swtch==无:
toPrint={1.RED}{2}/{3}/{4}{5}:{6}:{7}:{8}{9}{0.BRIGHT}{1.GREEN}{10}{0.RESET{11}{0.RESET{10}格式(
风格
前面
str(时间月)。zfill(2),
str(时间日)。zfill(2),
str(时间年)[2:],
str(time.hour%12)。zfill(2),
str(时间分钟)。zfill(2),
str(时间秒)。zfill(2),
str(int(time.microsecond/1000)).zfill(3),
如果time.hour<12,则为“AM”,否则为“PM”,
名称
内容
)
打印(toPrint)
log_txt=“”
如果swtch==False或swtch==None:
文件=打开('log.txt','r')
log_txt=file.read()
file.close()文件
打开('log.txt','w')作为文件:
text={0}/{1}/{2}{3}:{4}:{5}:{6}{7}{8}{9}。格式(
str(时间月)。zfill(2),
str(时间日)。zfill(2),
str(时间年)[2:],
str(time.hour%12)。zfill(2),
str(时间分钟)。zfill(2),
str(时间秒)。zfill(2),
str(int(time.microsecond/1000)).zfill(3),
如果time.hour<12,则为“AM”,否则为“PM”,
名称
内容
)
file.write(log_txt+text+'\n')
让我们假设有一个名为
some\u logger
的记录器

导入日志
log=logging.getLogger('some_logger'))

有没有办法代替打印到标准输出,将位置参数(表示日志信息)传递给另一个函数?(为了澄清:一个将使用所需参数调用
log
的函数)

我发现您可以使用类似对象的东西来实现这一点。您需要定义一个实现的子类。有关基本设置,请参见下面的示例:

import logging

class CustomHandler(logging.Handler):
    def emit(record):
        log(record.levelname, record.msg)

logging.getLogger('some_logger').addHandler(CustomHandler())

请给我们一些你想使用的代码。好的,我们将编辑!谢谢你的提问