python 日志打印

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

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

<test.py>
None.gif import  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 ' 10000 9 )

<test2.py>
None.gif import  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的含义。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值