python的日志功能模块是logging 功能和使用方式非常类似于log4

如何使用logging:

# 导入日志模块
import logging
# 使用配置文件设置日志时,需要导入这个模块
import logging.config
class MyLog:
'''日志类,用于将日志信息写入到.txt文件中''' # 载入配置信息,从Logging.cfg
__loadcfg=logging.config.fileConfig("Loggers/Logging.ini") # 获取一个logger对象,通过这个名字参数可以保证在当前程序进程中其它地方获取日志对象时,是同一个日志对象.
__dblog=logging.getLogger('dblog') @staticmethod
def AddLog(msg,logrefname=None):
'''// 添加日志
// 1.msg:日志内容
// 2.logrefname:通过这个名字获取日志对象,默认是dblog.其它名字要到配置文件里查看
'''
if logrefname is not None:
MyLog.__dblog=logging.getLogger(logrefname) MyLog.__dblog.debug(msg)

使用时调用 MyLog.AddLog(logmsg)就加入日志了.

以下是配置文件Logging.ini

# 这是python的logging日志模块的配置文件
# 遇到的问题有几个:使用logging.config.fileConfig("Logging.ini")载入后,启动程序
# .报错.KeyError Formatters 在网上查了很久,说是日志路径的问题,结果就是路径问题
# .报错gbk... 用的是VS2013,新建的python文件不是utf-8编码,需要改一下编码.可是对于这个Logging.ini,居然要改回gb2312().不改的话就报这错误. # 指示日志引用名,通过这个名字,能找到同一个日志对象
[loggers]
keys=root,dblog # 指示日志的输出,可以输出到控制台,文件,发Email,输出到SOCKET等等
[handlers]
keys=handroot,handdb # 指示日志输出格式
[formatters]
keys=formroot,formdb # root日志对象,这个相当于父类,必需要有
[logger_root]
level=NOTSET
handlers=handroot # 这是自己建立的日志对象,propagate=0表示不继承父类,=1表示继承.(研究后得出结论:如果选继承,日志也会输出到父类的handler上)
[logger_dblog]
level=DEBUG
handlers=handdb
propagate=
qualname=dblog [handler_handroot]
class=StreamHandler
level=NOTSET
formatter=formroot
args=(sys.stdout,) # 这使用了回转日志(class指示使用的是哪个hander,logging有很多handler),就是当日志达到一定大小后,会另建一个新文件
[handler_handdb]
class=handlers.RotatingFileHandler
level=DEBUG
formatter=formdb
args=('dblog.txt', 'a',) [formatter_formroot]
format=F1 %(asctime)s %(levelname)s %(message)s
datefmt=
class=logging.Formatter # 关于formatter类的详细情况,请查看本机文档在d:/python学习中有链接
[formatter_formdb]
format=%(asctime)s 类型 : %(name)s 内容 : %(message)s
datefmt=%Y-%m-%d %H:%M:%S
class=logging.Formatter

也可以在代码中配置日志,使用这个方法载入配置

logging.basicConfig()

一个非常详细的日志使用请看这里

http://www.cnblogs.com/dkblog/archive/2011/08/26/2155018.html

python-整理-logging日志的更多相关文章

  1. Python 中 logging 日志模块在多进程环境下的使用

    因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,Python 中 logging 日志模块在多进程环境下的使用 使用 Pytho ...

  2. 【python】logging日志模块写入中文编码错误解决办法

    一.问题: 使用python的logging模块记录日志,有时会遇到中文编码问题错误. 二.解决办法: 在logging.FileHandler(path) 中添加指定编码方式 encoding='u ...

  3. python的logging日志模块(二)

    晚上比较懒,直接搬砖了. 1.简单的将日志打印到屏幕   import logging logging.debug('This is debug message') logging.info('Thi ...

  4. python的logging日志模块(一)

    最近修改了项目里的logging相关功能,用到了Python标准库里的logging模块,在此做一些记录.主要是从官方文档和stackoverflow上查询到的一些内容. 官方文档 技术博客 基本用法 ...

  5. python(6)-logging 日志模块

    logging的日志分为5个级别分别为debug(), info(), warning(), error(), critical() 先来看一下简单的代码: logging.basicConfig(f ...

  6. python的logging日志模块

    1. 简单的将日志打印到屏幕 import logging logging.debug('This is debug message') logging.info('This is info mess ...

  7. Python之logging日志模块

    logging 用于便捷既然日志切线程安全的模块 vim log_test.py import logging logging.basicConfig(filename='log.log', form ...

  8. python中logging日志基本用法,和进程安全问题

    低配版 import logging logging.debug('debug message') # 调试模式 logging.info('info message') # 正常运转模式 loggi ...

  9. python - django (logging 日志配置和简单使用)

    1. settings 配置 # 配置日志 LOGGING = { 'version': 1, 'disable_existing_loggers': True, 'formatters': { 's ...

  10. Python:Logging日志处理

    程序中,需要添加日志来记录大量信息. import logging # 第一步:创建logger self.logger = logging.getLogger() self.logger.setLe ...

随机推荐

  1. jquery height、innerHeight、outHeight

    JQuery有很多的height,不总结一下你就要被他搞晕,所以为了保持清醒,汇总在下面 height:height innerHeight:height+padding outerHeight(fa ...

  2. sublime text 发现一个超好的编辑器

    垂直竖行多行编辑 鼠标中建拖动或 shift+右键拖动 切换文件 ctrl+p 输入文件名 可以拖动项目文件夹到sublime text左栏, 也可文件--打开文件夹--项目所在文件夹,但会在新窗口中 ...

  3. NFine常见错误

    1.新增数据录入录入不进去提示:An error occurred while updating the entries.See the inner exception for details. 这样 ...

  4. boostrap 弹出模态对话框,点击黑色区域不会关闭

    $('#ID_ReformDetail').modal({ backdrop: 'static', keyboard: false }); 弹出模态对话框且点击黑色部分不会关闭. <div cl ...

  5. Postgres的用户认证

    我们先来讲讲postgresql的用户认证吧. 我想我们有必要明白以下几个问题: 第一.postgresql的用户和操作系统的用户没有任何直接的的关系.虽然在postgaresql的初始安装中,它会有 ...

  6. WebApi 自定义过滤器实现支持AJAX跨域的请求

    我想关于此类话题的文章,大家一搜铺天盖地都是,我写此文的目的,只是对自己学习过程的记录,能对需要的朋友有所帮助,也百感荣幸!!!废话不多说,直接上代码! 客户端:很简单的AJAX请求 <html ...

  7. Advanced Bash-Scripting Guide

    在UC Berkeley 课程代号CS9E上看到的资源 http://www-inst.eecs.berkeley.edu/~selfpace/studyguide/cs9e/ http://www. ...

  8. jsp验证码 (通过单击验证码或超链接换验证码)

    #code.jsp <%@ page language="java" import="java.util.*" import="java.awt ...

  9. JSP SMARTUPLOAD组件:上传文件时同时获取表单参数

    原因很简单: 注意更改from 属性啊!否则为null! 因为你用jspsmartuploadsmart时post请求 的格式是multipart/form-data,即enctype="m ...

  10. spring mvc 安全

    1,使用 spring form 标签 防 csrf 攻击 2,标明请求方法:RequestMethod.GET,RequestMethod.POST, PATCH, POST, PUT, and D ...