当前位置: 首页 > news >正文

log

参考文献:http://wjdadi-gmail-com.iteye.com/blog/1984354

logging.basicConfig函数各参数:

filename: 指定日志文件名

filemode: 和file函数意义相同,指定日志文件的打开模式,'w'或'a'

format: 指定输出的格式和内容,format可以输出很多有用信息,如上例所示:  %(levelno)s: 打印日志级别的数值  %(levelname)s: 打印日志级别名称  %(pathname)s: 打印当前执行程序的路径,其实就是sys.argv[0]  %(filename)s: 打印当前执行程序名  %(funcName)s: 打印日志的当前函数  %(lineno)d: 打印日志的当前行号  %(asctime)s: 打印日志的时间  %(thread)d: 打印线程ID  %(threadName)s: 打印线程名称  %(process)d: 打印进程ID  %(message)s: 打印日志信息

datefmt: 指定时间格式,同time.strftime()

level: 设置日志级别,默认为logging.WARNING

stream: 指定将日志的输出流,可以指定输出到sys.stderr,sys.stdout或者文件,默认输出到sys.stderr,当stream和filename同时指定时,stream被忽略

日志配置,通过logging.config包进行相关处理。

   1 文件配置方式

 

    python可以通过配置文件来定义日志,配置文件的格式通过logging.config.fileConfig(此函数基于ConfigParser)来解析,[loggers] , [handlers] 和 [formatters] ,用来标识文件定义的几种类型的实体。这价格标识必须包含在配置文件中。

 

     [loggers]标识: 关键字keys后通过=号指定对应logger实体的名称,而对具体的logger实体配置就在[logger_logger实体名],如keys=root则对应详细配置在[logger_root]中。

 

                             详细配置如[logger_root] 中必须包含level和handlers,level值包含一中介绍的所以level信息;handlers包含一个或多个在[handlers]定义的值,多值用“,”分开。

 

                             还可能包括propagate和qualname,propagete项如果为1,则表示该logger必须处理它继承的父类logger的信息,如果为0则不必; qualname项表示logger的分层结构的上下文名称,应用程序中就是用这个名字结合logger实体名称来获得logger的全路径。

 

     [handlers]标识: 与[loggers]类似,如keys=hand01则具体配置在[handler_hand01]。

 

                             详细配置如[handler_hand01]中包含class,level,formatter和args等关键字。

 

                             class值表示handlers的具体类;level是handler的日志级别;formatter表示用于此handler的格式,此处如果不为空必须在[formatters]总定义,如果为空则用默认的formatter(logging._defaultFormatter);args表示handler实例化时传给handler构造函数的参数,多个参数用“()”扩起来。

 

     [formatters]标识: 同上,keys=format01则[formatter_format01]。

 

                             详细配置如[formatter_format01]中包含format,datefmt和class。

 

                             class可选,它指出了 formatter 的类名(模块名和类名通过点来分隔);format定义格式字符串,方式如四中介绍;datefmt项可以接受跟strftime()函数兼容的时间/日期格式字符串。如果为空,则默认用ISO8601格式的日期/时间格式,其格式也定义了微秒,可以用一个逗号隔开添加到上面的格式字符串之后,ISO8601格式的一个示例是 2003-01-23 00:29:50,411。

=================

 

属性名称
    格式  
                                       说明  
name
%(name)s
日志的名称
asctime
%(asctime)s
可读时间,默认格式‘2003-07-08 16:49:45,896’,逗号之后是毫秒
filename
%(filename)s
文件名,pathname的一部分
pathname
%(pathname)s
文件的全路径名称
funcName
%(funcName)s
调用日志多对应的方法名
levelname
%(levelname)s
日志的等级
levelno
%(levelno)s
数字化的日志等级
lineno
%(lineno)d
被记录日志在源码中的行数
module
%(module)s
模块名
msecs%(msecs)d时间中的毫秒部分
process
%(process)d
进程的ID
processName
%(processName)s
进程的名称
thread
%(thread)d
线程的ID
threadName
%(threadName)s
线程的名称
relativeCreated
%(relativeCreated)d
日志被创建的相对时间,以毫秒为单位

 

 

转载于:https://www.cnblogs.com/testzcy/p/7300390.html

相关文章:

  • 360安全卫士升级致Win7/vista电脑不能上网
  • Leet Code OJ 219. Contains Duplicate II [Difficulty: Easy]
  • max(min)-device-width和max(min)-width的区别
  • 《掌控Windows SErver 2008 活动目录》 电子文档 下载 清华出版社
  • 深入浅出TensorFlow(七)TensorFlow计算加速
  • MapViewOfFile
  • mysql source 恢复 sql数据time_zone报错 已解决
  • 有效IT运维 效率提高 成本降低
  • IDC表示云计算占有率到2012年将翻一番
  • Linux操作系统下搭建VNC远程控制软件详尽教程
  • System Generator简介
  • UBUNTU下的LAMP搭建、配置、管理
  • DFS做题小结
  • 网络经典
  • git使用教程2-更新github上代码
  • $translatePartialLoader加载失败及解决方式
  • “大数据应用场景”之隔壁老王(连载四)
  • 2017 年终总结 —— 在路上
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • Linux各目录及每个目录的详细介绍
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • python学习笔记-类对象的信息
  • rc-form之最单纯情况
  • uni-app项目数字滚动
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 高度不固定时垂直居中
  • 排序(1):冒泡排序
  • 使用docker-compose进行多节点部署
  • Prometheus VS InfluxDB
  • 数据库巡检项
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • ${ }的特别功能
  • (AngularJS)Angular 控制器之间通信初探
  • (poj1.2.1)1970(筛选法模拟)
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (二)linux使用docker容器运行mysql
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .Family_物联网
  • .NET 发展历程
  • .NET 将多个程序集合并成单一程序集的 4+3 种方法
  • .Net中间语言BeforeFieldInit
  • .NET中统一的存储过程调用方法(收藏)
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?
  • @data注解_一枚 架构师 也不会用的Lombok注解,相见恨晚
  • @RequestMapping处理请求异常
  • @SentinelResource详解
  • [ 蓝桥杯Web真题 ]-Markdown 文档解析
  • [100天算法】-二叉树剪枝(day 48)
  • [383] 赎金信 js
  • [Android Pro] listView和GridView的item设置的高度和宽度不起作用
  • [docker] Docker的数据卷、数据卷容器,容器互联
  • [HTML]HTML5实现可编辑表格
  • [IDF]摩斯密码