博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 日志打印
阅读量:6332 次
发布时间:2019-06-22

本文共 2313 字,大约阅读时间需要 7 分钟。

发现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!
"
)

转载于:https://www.cnblogs.com/soft115/archive/2011/08/10/2134081.html

你可能感兴趣的文章
利用Shell开发跳板机功能脚本案例
查看>>
51CTO的技术门诊谈OSSIM
查看>>
六年心路成长 —— 做自己
查看>>
Unix整理笔记——高级命令sed和awk——里程碑M10
查看>>
Linux系统详解 第六篇:系统的启动、登录、注销与开关机
查看>>
ios电话拨打进行监听电话状态
查看>>
京东基于Spark的风控系统架构实践和技术细节
查看>>
什么时候使用CountDownLatch
查看>>
C#之MemberwiseClone与Clone
查看>>
Android性能优化之利用Rxlifecycle解决RxJava内存泄漏
查看>>
转: 如何为你的开源项目选择一个合适的开源协议?
查看>>
关系型数据库和NOSQL数据库对比
查看>>
Atitit 记录方法调用参数上下文arguments
查看>>
webstorm常用功能FTP,及常用快捷键
查看>>
eclipse html 打开方式
查看>>
[求助] win7 x64 封装 出现 Administrator.xxxxx 的问题
查看>>
人类投资经理再也无法击败电脑的时代终将到来了...
查看>>
一个最小手势库的实现
查看>>
HoloLens开发手记 - Vuforia开发概述 Vuforia development overview
查看>>
Android支付之支付宝封装类
查看>>