python 日志打印

发现python里面扩展了日志打印功能。感觉比java自带的还好,和log4j很类似。
下面总结下其用法。先说一种不用配置文件的:
<log.py>

 1None.gif# -*- coding: gb2312 -*-
 2None.gifimport logging
 3None.gif
 4None.giflogging.basicConfig(level=logging.INFO,
 5None.gif                    format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
 6None.gif                    datefmt='%m-%d %H:%M',
 7None.gif                    filename='./AutoUpdate.log',
 8None.gif                    filemode='w')
 9None.gif
10None.gifconsole = logging.StreamHandler()
11None.gifconsole.setLevel(logging.INFO)
12None.gifformatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s')
13None.gifconsole.setFormatter(formatter)
14None.giflogging.getLogger('').addHandler(console)
15None.gif
16None.gif
17None.gif#
18None.gif# console = logging.StreamHandler()
19None.gif# console = setLevel(logging.DEBUG)
20None.gif# formatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s')
21None.gif# console.setFormatter(formatter)
22None.gif# logging.getLogger('').addHandler(console)
23None.gif
24None.gif
25None.gifdef getLogging(name):
26None.gif    return logging.getLogger(name)

<test.py>
None.gifimport log
None.gif
None.giftestlog 
= log.getLogging('test')
None.giftestlog.error( 
"~~~~~~~~~~~~~~test1.")
None.giftestlog.info( 
"~~~~~~~~~~~~~~test2." )
None.giftestlog.exception( 
"~~~~~~~~~~~~~~~~~~~~~~~~~test3.")

用过log4j的人不会陌生这种用法。如果你对log4j有疑惑,或者想了解请在本人blog内查找关于log4j的文章。有详细介绍。这里不再赘述。

第二种使用配置文件的:
None.gif# logging.conf
None.gif

None.gif[loggers]
None.gifkeys
=root,example
None.gif
None.gif[handlers]
None.gifkeys
=consoleHandler,rotateFileHandler
None.gif
None.gif[formatters]
None.gifkeys
=simpleFormatter
None.gif
None.gif[formatter_simpleFormatter]
None.gifformat
=[%(asctime)s](%(levelname)s)%(name)s : %(message)s
None.gif
None.gif[logger_root]
None.giflevel
=DEBUG
None.gifhandlers
=consoleHandler,rotateFileHandler
None.gif
None.gif[logger_example]
None.giflevel
=DEBUG
None.gifhandlers
=consoleHandler,rotateFileHandler
None.gifqualname
=example
None.gifpropagate
=0
None.gif
None.gif[handler_consoleHandler]
None.gif
class=StreamHandler
None.giflevel
=DEBUG
None.gifformatter
=simpleFormatter
None.gifargs
=(sys.stdout,)
None.gif
None.gif[handler_rotateFileHandler]
None.gif
class=handlers.RotatingFileHandler
None.giflevel
=DEBUG
None.gifformatter
=simpleFormatter
None.gifargs
=('test.log''a'100009)

<test2.py>
None.gifimport logging
None.gif
import logging.config
None.gif
None.giflogging.config.fileConfig(
"logger.conf")
None.gif
None.gif
#create logger
None.gif
logger = logging.getLogger("example")
None.gif
None.gif
#"application" code
None.gif
logger.debug("debug message")
None.giflogger.info(
"info message")
None.giflogger.warn(
"warn message")
None.giflogger.error(
"error message")
None.giflogger.critical(
"critical message")
None.gif
None.giflogHello 
= logging.getLogger("hello")
None.giflogHello.info(
"Hello world!")
None.gif

其中值得注意的是args的含义。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值