Chinaunix首页 | 论坛 | 博客
  • 博客访问: 590559
  • 博文数量: 226
  • 博客积分: 10080
  • 博客等级: 上将
  • 技术积分: 1725
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-26 11:15
文章分类

全部博文(226)

文章存档

2011年(5)

2010年(64)

2009年(99)

2008年(37)

2007年(21)

我的朋友

分类: LINUX

2009-06-29 15:27:23

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


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


import log

testlog 
= log.getLogging('test')
testlog.error( 
"~~~~~~~~~~~~~~test1.")
testlog.info( 
"~~~~~~~~~~~~~~test2." )
testlog.exception( 
"~~~~~~~~~~~~~~~~~~~~~~~~~test3.")

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

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

[loggers]
keys
=root,example

[handlers]
keys
=consoleHandler,rotateFileHandler

[formatters]
keys
=simpleFormatter

[formatter_simpleFormatter]
format
=[%(asctime)s](%(levelname)s)%(name)s : %(message)s

[logger_root]
level
=DEBUG
handlers
=consoleHandler,rotateFileHandler

[logger_example]
level
=DEBUG
handlers
=consoleHandler,rotateFileHandler
qualname
=example
propagate
=0

[handler_consoleHandler]
class=StreamHandler
level
=DEBUG
formatter
=simpleFormatter
args
=(sys.stdout,)

[handler_rotateFileHandler]
class=handlers.RotatingFileHandler
level
=DEBUG
formatter
=simpleFormatter
args
=('test.log''a'100009)


import logging
import logging.config

logging.config.fileConfig(
"logger.conf")

#create logger
logger = logging.getLogger("example")

#"application" code
logger.debug("debug message")
logger.info(
"info message")
logger.warn(
"warn message")
logger.error(
"error message")
logger.critical(
"critical message")

logHello 
= logging.getLogger("hello")
logHello.info(
"Hello world!")

其中值得注意的是args的含义。
阅读(547) | 评论(0) | 转发(0) |
0

上一篇:python的日志简单使用

下一篇:python日志

给主人留下些什么吧!~~