如何使用日志记录模块来记录像print()这样的对象 [英] how to use logging module to log an object like 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屋!