在项目开发中,往往要记录日志文件。用python记录日志有两种方式:

  1、利用python 自带的logging库,例如:

 # -*- coding: utf-8 -*-

import os
import codecs
import datetime import logging #封装logging日志
class LogFile:
#构造函数 fileName:文件名
def __init__(self,fileName,level=logging.INFO):
fh = logging.FileHandler(fileName)
self.logger = logging.getLogger()
self.logger.setLevel(level)
formatter = logging.Formatter('%(asctime)s : %(message)s','%Y-%m-%d %H:%M:%S')
fh.setFormatter(formatter)
self.logger.addHandler(fh) def WriteLog(self,message):
self.logger.info(message) def WriteErrorLog(self,message):
self.logger.setLevel(logging.ERROR)
self.logger.error(message)


2、自己写日志
  
import os
import time
class Log:
def __init__(self):
pass def WriteLog(self,message,flag = False):
strMessage = '\n' + time.strftime('%Y-%m-%d %H:%M:%S')
if flag:
strMessage += ': %s' % message
else:
strMessage += ':\n%s' % message fileName = os.path.join(os.getcwd(), time.strftime('%Y-%m-%d')+ '.txt')
with open(fileName, 'a',encoding='utf-8') as f:
      f.write(strMessage) # log = Log() # log.WriteLog('aaa') # 输出结果: # 2017-11-24 10:39:52: # aaa # 2017-11-24 10:39:56:aaa

 

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

  1. Python之logging模块

    一.引言 之前在写一些小程序的时候想把日志内容打到文件中,所以就自己写了一个logger.py的程序,如下: #!/usr/bin/python # -*- coding=utf-8 -*- impo ...

  2. python的logging模块之读取yaml配置文件。

    python的logging模块是用来记录应用程序的日志的.关于logging模块的介绍,我这里不赘述,请参见其他资料.这里主要讲讲如何来读取yaml配置文件进行定制化的日志输出. python要读取 ...

  3. Python:logging 的巧妙设计

    引言 logging 的基本用法网上很多,这里就不介绍了.在引入正文之前,先来看一个需求: 假设需要将某功能封装成类库供他人使用,如何处理类库中的日志? 数年前在一个 C# 开发的项目中,我用了这样的 ...

  4. 一篇文章教你如何用 Python 记录日志

    前言: 这篇文章是我copy别人的,但是个人认为讲的真的很细致,有原理有实例,不仅仅只教你如何使用日志更会叫你知道日志的原理,真的非常棒,虽然文章很长,也许你不会认认真真读完, 但是当你遇到问题时这篇 ...

  5. python中logging模块的用法

    很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,loggin ...

  6. Python模块——logging模块

    logging模块简介 logging模块定义的函数和类为应用程序和库的开发实现了一个灵活的事件日志系统.logging模块是Python的一个标准库模块, 由标准库模块提供日志记录API的关键好处是 ...

  7. python 运行日志logging代替方案

    以下是自己写的 记录日志的代码.(和logging不搭嘎,如果如要学loggging模块,本文末尾有他人的链接.) # prtlog.py ############################## ...

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

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

  9. python基础--logging模块

    很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,loggin ...

随机推荐

  1. BZOJ 1441

    1441: Min Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 467  Solved: 312[Submit][Status][Discuss] De ...

  2. wap测试学习

    注意要点 UI元素 修改源码 物理键操作(回车.确认) 焦点 习惯性操作(前进.后退.屏幕翻转和停止) 刷新 重启服务器 重启浏览器 异常关闭 书签 cookies/session 缓存 接口 URL ...

  3. C# 学习笔记02 ADO.net

    DataSet ado.net DataSet 的设计已明确指出它可独立于任何资料来源外而存取资料.因此,它可与多个不同的资料里来源搭配使用.与 XML 资料搭配使用,或用于管理应用程序的本机资料.D ...

  4. nodejs3-事件zepto.js事件

    Event代表事件名,listener代表事件处理函数,括号内的参数代表可选参数: addListener(event,listener):对指定事件绑定事件处理函数 on(同上):addListen ...

  5. 【转】用capability 特征加强Linux系统安全

    用capability 特征加强Linux系统安全 摘要:传统UNIX系统的访问控制模型非常简单——普通用户对超级用户.在这种模型中,一个进程或者帐户要么只有很小的权限,要么具有全部的系统权限.显然, ...

  6. css3学习笔记之渐变

    CSS3 线性渐变 语法 background: linear-gradient(direction, color-stop1, color-stop2, ...); 1 2 3 4 5 6 7 8 ...

  7. 算法 replace,replace_copy,back_inserter

    replace (list.begin(), list.end(), , ); // replace any elements with value of 0 by 42 replace算法对输入序列 ...

  8. SQL server 常见用法记录

        -- ============================================= -- Author:                tanghong -- Create da ...

  9. zabbix短信接口调用

    #!/bin/bash TIME=`date +%Y-%m-%d` KEY="UJK9rk50HD8du8JE8h87RUor0KERo5jk" username="za ...

  10. qml自定义标题栏

    要实现自定义的标题栏只需在原来的窗口的基础上创建一个Rectangle并将其定位在窗口顶部即可,实现代码如下: ApplicationWindow { id: mainWindow visible: ...