#日志记录到多文件示例

 import logging

 def error_log(message):
file_1_1 = logging.FileHandler('error.log', 'a+', encoding='utf-8')
fmt = logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s")
file_1_1.setFormatter(fmt)
# 创建日志对象
logger1 = logging.Logger('error', level=logging.ERROR)
# 日志对象和文件对象创建关系
logger1.addHandler(file_1_1) logger1.log(logging.FATAL,message) def run_log(message):
file_1_1 = logging.FileHandler('run.log', 'a+', encoding='utf-8')
fmt = logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s")
file_1_1.setFormatter(fmt)
# 创建日志对象
logger1 = logging.Logger('run', level=logging.ERROR)
# 日志对象和文件对象创建关系
logger1.addHandler(file_1_1) logger1.log(logging.FATAL,message)

#日志记录到单个文件示例

import  logging
logging.basicConfig(
filename="11.log",
format="%(asctime)s - %(name)s - %(levelname)s - %(module)s : %(message)s",
datefmt='%Y-%m-%d %H:%M:%S %p',
level=logging.INFO
)
logging.log(logging.ERROR,"MESSAGE....") #单例模式
 import  logging

 class LoggerHelper(object):
_i = None @classmethod
def instance(cls):
if cls._i:
return cls._i
else:
cls._i = LoggerHelper() #LoggerHelper()
return cls._i # obj def __init__(self):
error_log = logging.FileHandler('error.log', 'a+', encoding='utf-8')
fmt = logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s")
error_log.setFormatter(fmt)
# 创建日志对象
error_logger = logging.Logger('error', level=logging.ERROR)
# 日志对象和文件对象创建关系
error_logger.addHandler(error_log)
self.error_logger = error_logger run_log = logging.FileHandler('run.log', 'a+', encoding='utf-8')
fmt = logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s")
run_log.setFormatter(fmt)
# 创建日志对象
run_logger = logging.Logger('run', level=logging.ERROR)
# 日志对象和文件对象创建关系
run_logger.addHandler(run_log)
self.run_logger = run_logger if __name__ == '__main__':
#调用
# 单例模式,用户获得第一次创建的对象
obj1 = LoggerHelper.instance()
obj1.run_logger.log(logging.FATAL,'asdfasdfasdfasdf') obj2 = LoggerHelper.instance()
obj2.run_logger.log(logging.FATAL,'asdfasdfasdfasdf') obj3 = LoggerHelper.instance()
obj3.run_logger.log(logging.FATAL,'asdfasdfasdfasdf')

#只创建一个实例的设计模式

cls为类名

 class Foo(object):
_i = None
def __init__(self):
self.n = 123
def __new__(cls, *args, **kwargs):
if cls._i:
return cls._i
else:
o = object.__new__(cls,*args,**kwargs)
cls._i = o
return cls._i obj1 = Foo()
obj2 = Foo()

python logging 模块记录日志的更多相关文章

  1. python2.7下使用logging模块记录日志到终端显示乱码问题解决

    刚才翻了翻2年以前用python2.7写的一个爬虫程序,主要功能就是把各地市知识产权局/专利局网站的专利相关项目.课题通知,定期爬取和分析,辅助企业进行项目申请. 这里要谈的不是爬虫功能的实现,而是今 ...

  2. Python logging模块无法正常输出日志

    废话少说,先上代码 File:logger.conf [formatters] keys=default [formatter_default] format=%(asctime)s - %(name ...

  3. 0x03 Python logging模块之Formatter格式

    目录 logging模块之Formatter格式 Formater对象 日志输出格式化字符串 LogRecoder对象 时间格式化字符串 logging模块之Formatter格式 在记录日志是,日志 ...

  4. python logging模块可能会令人困惑的地方

    python logging模块主要是python提供的通用日志系统,使用的方法其实挺简单的,这块就不多介绍.下面主要会讲到在使用python logging模块的时候,涉及到多个python文件的调 ...

  5. python logging模块使用

    近来再弄一个小项目,已经到收尾阶段了.希望加入写log机制来增加程序出错后的判断分析.尝试使用了python logging模块. #-*- coding:utf-8 -*- import loggi ...

  6. 读懂掌握 Python logging 模块源码 (附带一些 example)

    搜了一下自己的 Blog 一直缺乏一篇 Python logging 模块的深度使用的文章.其实这个模块非常常用,也有非常多的滥用.所以看看源码来详细记录一篇属于 logging 模块的文章. 整个 ...

  7. (转)python logging模块

    python logging模块 原文:http://www.cnblogs.com/dahu-daqing/p/7040764.html 1 logging模块简介 logging模块是Python ...

  8. Python logging 模块学习

    logging example Level When it's used Numeric value DEBUG Detailed information, typically of interest ...

  9. python logging—模块

    python logging模块 python logging提供了标准的日志接口,python logging日志分为5个等级: debug(), info(), warning(), error( ...

随机推荐

  1. oracle环境变量

    1---此部分引自http://hi.baidu.com/jason_xux/item/1f44681d356927fa756a8480  感谢 ORA_NLS33 环境变量ora_nls33定义'l ...

  2. 【转】log4j.properties 详解与配置步骤 - edward0830ly的专栏 - 博客频道 - CSDN.NET

    一.log4j.properties 的使用详解 1.输出级别的种类 ERROR.WARN.INFO.DEBUGERROR 为严重错误 主要是程序的错误WARN 为一般警告,比如session丢失IN ...

  3. python接口自动化(三十五)-封装与调用--流程类接口关联(详解)

    简介 流程相关的接口,主要用 session 关联,如果写成函数(如上篇),s 参数每个函数都要带,每个函数多个参数,这时候封装成类会更方便.在这里我们还是以博客园为例,带着小伙伴们实践一下. 接口封 ...

  4. Ansible Playbooks高级使用

    文件操作 文件创建 file 用于设置文件/链接/目录的属性,或者删除文件/链接/目录 ### state如果是directory当目录不存在时会自动创建:如果是file当文件不存在时不会自动创建 - ...

  5. 解决Maven项目中jar包依赖冲突问题

    版本冲突的解决方案 [1]调节原则 [1]路径最短者优先原则 [2]路径相同时,先声明者优先原则 [2]排除原则:用于排除某项依赖的依赖jar包 <dependency> <grou ...

  6. Ckeditor 4 复制粘贴截图并转化base64格式保存至数据库

    虽然Ckeditor 中自带的有上传图片和文件的功能,但是有时候我们并不需要把图片保存至服务器的文件夹中. 反而是截图复制粘贴,把图片转化为base64格式保存在数据库中即可满足要求. 1.首先下载安 ...

  7. 原生JS实现日历

    这周写自己的项目发现又用到日历了,加之自己毕业之后的第一个工作中遇到的任务也是需要写个日历(组员写了,我就不用写了) 今天就来好好折腾一下日历是怎么写的. 首先,我们看看 windows 的日历.发现 ...

  8. abp架构中加载公共css样式表和公共js的文件目录位置

    src\shared\helpers\LocalizedResourcesHelper.ts

  9. Luogu P4551 最长异或路径 01trie

    做一个树上前缀异或和,然后把前缀和插到$01trie$里,然后再对每一个前缀异或和整个查一遍,在树上从高位向低位贪心,按位优先选择不同的,就能贪出最大的答案. #include<cstdio&g ...

  10. 使用 dbutils 的结果集包装类 StringTrimmedResultSet

    1.功能 StringTrimmedResultSet 的功能是去掉结果集中数据的前后空格,这个方法是在取结果的时候处理. 2.使用 一般在新建 QueryRunner 对象的时候使用: QueryR ...