如何使用日志记录模块来记录像print()这样的对象 [英] how to use logging module to log an object like print()

查看:43
本文介绍了如何使用日志记录模块来记录像print()这样的对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

mport logging

import pickle

#create logger

logger = logging.getLogger(" simple_example")

logger.setLevel(logging.DEBUG)

#创建控制台处理程序并设置调试级别

ch = logging.StreamHandler()

ch.setLevel(logging.DEBUG)

#create formatter

formatter = logging.Formatter("%(asctime)s - %(name)s - %( levelname)s

- %(消息)s")

#将格式化程序添加到ch

ch.setFormatter(formatter)

#将ch添加到记录器

logger.addHandler(ch)


d = {''key'':''msg'', ''key2'':''msg2''}


#" application"代码

logger.debug(" debug message",d)#can not this this

logger.info(" info message")

logger.warn(" warn message")

logger.error(" error message")

logger.critical(" critical message")

mport logging
import pickle
# create logger
logger = logging.getLogger("simple_example")
logger.setLevel(logging.DEBUG)
# create console handler and set level to debug
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
# create formatter
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s
- %(message)s ")
# add formatter to ch
ch.setFormatter(formatter)
# add ch to logger
logger.addHandler(ch)

d = {''key'':''msg'',''key2'':''msg2''}

# "application" code
logger.debug("debug message",d)#can not do this
logger.info("info message")
logger.warn("warn message")
logger.error("error message")
logger.critical("critical message")

推荐答案

davy zhang schrieb:
davy zhang schrieb:

mport logging

import pickle


#create logger

logger = logging.getLogger(" simple_example")

logger.setLevel(logging.DEBUG )

#创建控制台处理程序并设置调试级别

ch = logging.StreamHandler()

ch.setLevel(logging.DEBUG)

#create formatter

formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s

- %(消息)s")

#将格式化程序添加到ch

ch.setFormatter(格式化程序)

#将ch添加到记录器

logger.addHandle r(ch)


d = {''key'':''msg'',''key2'':''msg2''}


#" application"代码

logger.debug(" debug message",d)#不能这样做
mport logging
import pickle
# create logger
logger = logging.getLogger("simple_example")
logger.setLevel(logging.DEBUG)
# create console handler and set level to debug
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
# create formatter
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s
- %(message)s ")
# add formatter to ch
ch.setFormatter(formatter)
# add ch to logger
logger.addHandler(ch)

d = {''key'':''msg'',''key2'':''msg2''}

# "application" code
logger.debug("debug message",d)#can not do this



logger.debug(" yes you可以:%r",d)

Diez

logger.debug("yes you can: %r", d)
Diez


非常感谢,我ganna检查格式化程序str以获取更多信息:)


2008年10月29日星期三下午5:10,Diez B. Roggisch< de *** @ nospam.web.dewrote:
thanks so much , I ganna check the formatter str for more info:)

On Wed, Oct 29, 2008 at 5:10 PM, Diez B. Roggisch <de***@nospam.web.dewrote:

davy zhang schrieb:
davy zhang schrieb:

>>
mport logging
import pickle

#创建记录器
logger = logging.getLogger(" simple_example")
logger.setLevel(logging.DEBUG)
#create console handler和set level to debug
ch = logging。 StreamHandler()
ch.setLevel(logging.DEBUG)
#create formatter
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname) s
- %(消息)s")
#将格式化程序添加到ch
ch.setFormatter(格式化程序)
#add ch to logger
logger.addH andler(ch)

d = {''key'':''msg'',''key2'':''msg2''}

#"申请表]代码
logger.debug(" debug message",d)#不能这样做
>>
mport logging
import pickle
# create logger
logger = logging.getLogger("simple_example")
logger.setLevel(logging.DEBUG)
# create console handler and set level to debug
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
# create formatter
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s
- %(message)s ")
# add formatter to ch
ch.setFormatter(formatter)
# add ch to logger
logger.addHandler(ch)

d = {''key'':''msg'',''key2'':''msg2''}

# "application" code
logger.debug("debug message",d)#can not do this



logger.debug(是的你可以:%r ;,d)


Diez

-
http://mail.python.org/mailman/listinfo/python-list


Diez B. Roggisch写道:
Diez B. Roggisch wrote:

davy zhang schrieb:
davy zhang schrieb:

> mport日志
导入泡菜

#create logger
logger = logging.getLogger(" simple_example")
logger.setLevel(logging.DEBUG)
#创建控制台处理程序并设置级别以进行调试
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
#create formatter
formatter = logging.Formatter(" %(asctime)s - %(名称)s - %(levelname)s
- %(消息)s")
#greg formatter to ch
ch.setFormatter(formatter)
#将ch添加到记录器
logger.addHandler(ch)

d = {''key'':''msg'',''key2'':''msg2''}

#" application"代码
logger.debug(" debug message",d)#不能这样做
>mport logging
import pickle
# create logger
logger = logging.getLogger("simple_example")
logger.setLevel(logging.DEBUG)
# create console handler and set level to debug
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
# create formatter
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s
- %(message)s ")
# add formatter to ch
ch.setFormatter(formatter)
# add ch to logger
logger.addHandler(ch)

d = {''key'':''msg'',''key2'':''msg2''}

# "application" code
logger.debug("debug message",d)#can not do this



logger.debug(是的你可以:%r ;,d)


logger.debug("yes you can: %r", d)



但是,这种方法的一个缺点是,即使不需要记录,也会执行字符串格式化

,因此在不必要的格式上浪费了一定的金额。


问候

史蒂夫

- -

Steve Holden +1 571 484 6266 +1 800 494 3119

Holden Web LLC http://www.holdenweb.com/

One deficiency of this approach, however, is that the string formatting
is performed even when no logging is required, thereby wasting a certain
amount of effort on unnecessary formatting.

regards
Steve
--
Steve Holden +1 571 484 6266 +1 800 494 3119
Holden Web LLC http://www.holdenweb.com/


这篇关于如何使用日志记录模块来记录像print()这样的对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆