python 记录日志logging
在项目开发中,往往要记录日志文件。用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的更多相关文章
- Python之logging模块
一.引言 之前在写一些小程序的时候想把日志内容打到文件中,所以就自己写了一个logger.py的程序,如下: #!/usr/bin/python # -*- coding=utf-8 -*- impo ...
- python的logging模块之读取yaml配置文件。
python的logging模块是用来记录应用程序的日志的.关于logging模块的介绍,我这里不赘述,请参见其他资料.这里主要讲讲如何来读取yaml配置文件进行定制化的日志输出. python要读取 ...
- Python:logging 的巧妙设计
引言 logging 的基本用法网上很多,这里就不介绍了.在引入正文之前,先来看一个需求: 假设需要将某功能封装成类库供他人使用,如何处理类库中的日志? 数年前在一个 C# 开发的项目中,我用了这样的 ...
- 一篇文章教你如何用 Python 记录日志
前言: 这篇文章是我copy别人的,但是个人认为讲的真的很细致,有原理有实例,不仅仅只教你如何使用日志更会叫你知道日志的原理,真的非常棒,虽然文章很长,也许你不会认认真真读完, 但是当你遇到问题时这篇 ...
- python中logging模块的用法
很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,loggin ...
- Python模块——logging模块
logging模块简介 logging模块定义的函数和类为应用程序和库的开发实现了一个灵活的事件日志系统.logging模块是Python的一个标准库模块, 由标准库模块提供日志记录API的关键好处是 ...
- python 运行日志logging代替方案
以下是自己写的 记录日志的代码.(和logging不搭嘎,如果如要学loggging模块,本文末尾有他人的链接.) # prtlog.py ############################## ...
- 【python】logging日志模块写入中文编码错误解决办法
一.问题: 使用python的logging模块记录日志,有时会遇到中文编码问题错误. 二.解决办法: 在logging.FileHandler(path) 中添加指定编码方式 encoding='u ...
- python基础--logging模块
很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,loggin ...
随机推荐
- 关闭 Flash 沙箱安全模式,解决浏览器高占用
经常碰到 Firefox 因 Flash 插件崩溃,到卡饭翻了翻,发现是 Flash 沙箱的问题.原文附带了去沙箱保护的 Flash 插件,可惜版本有点旧,遂自己动手解决. 注意:办法一适用于 [ 安 ...
- Tamperdata工具使用(登陆时就修改用户名),篡改post数据
Tamperdata是firefox上的一款插件,它可以实现篡改数据的功能,这样可以做一些安全的测试验证,他的原理就是在发出请求前,在本地就开始改动数据,下面修改post请求 1.安装Tamperda ...
- php5.4window下连接mssql
第一步 下载 http://www.microsoft.com/en-us/download/details.aspx?id=20098 [PHP_PDO_SQLSRV] extension=php_ ...
- Ant 修改项目pom.xml文件应用
<?xml version="1.0" encoding="UTF-8"?> <project name="project" ...
- 开放封闭原则(OCP)
开放封闭原则 转:http://baike.baidu.com/view/2493421.htm转:http://dev.csdn.net/article/38/38826.shtm 开放封闭原则(O ...
- 我的博客已搬迁到http://www.lsworks.net
我的博客已搬迁到http://www.lsworks.net
- css笔记--web端小于1px设计的处理方法
HTML代码 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UT ...
- VS2013编译GLUI
vs自带的OpenGL为1.1版本,太老了. 1,编译glut https://www.opengl.org/resources/libraries/glut/glut37.zip 查看生成路径,可以 ...
- lex&yacc4
yacc: we cannt use the $$ value dirictly. we need get it irrotly;
- HTML5跨文档消息传递
HTML5定义了一些javascript API,其中有一个就是跨文档消息传递(cross-document-messaging简称XDM). 现在XDM已经作为一个规范独立了出来,名字为:Web M ...