#coding: utf-8
import time '''
/*****************************************************************
Function : GetCurrFmtTime
Description : 获取当前时间
******************************************************************/
'''
def GetCurrFmtTime() :
t = time.localtime()
strtime = "%02d/%02d %02d:%02d:%02d" % (t.tm_mon, t.tm_mday, t.tm_hour, t.tm_min, t.tm_sec)
return strtime
'''
/*****************************************************************
日志类 CLog
******************************************************************/
'''
class CLog :
def __init__(self, logFile='log.txt') :
self.DEBUG = True
self.logFile = logFile def __log__(self, *params) :
msgs = GetCurrFmtTime()
for msg in params:
if msgs != "" : msgs += " "
msgs += str(msg)
print msgs
self.__write__(msgs) def __write__(self, msgs=None) :
if len(self.logFile) > 0 :
f = open(self.logFile, 'at+')
if msgs != None : f.write(msgs)
f.write("\n")
f.close() #####################################################################
def setDebug(self, dbgFlag ) :
self.DEBUG = dbgFlag def setLogFile(self, logName ) :
self.logFile = logName ###########################################
def debug(self, *params) :
if self.DEBUG == True :
self.__log__('DBG:', *params) def info(self, *params) :
self.__log__('INF:', *params) def error(self, *params) :
self.__log__('ERR:', *params) ###########################################
def blankLine(self) :
print
self.__write__() def oneLine(self, char='=') :
line = char
for i in range(1, 50) :
line += char
print line
self.__write__(line) def titleLog(self, title) :
char = '*'
line = char
for i in range(1, 50) :
line += char msgs = '\n'
msgs += line + '\n\n'
msgs += '\t' + title + '\n\n'
msgs += line + '\n\n'
print msgs
self.__write__(msgs) #################################################################
def test() :
log = CLog()
log.titleLog('测试CLog类') log.oneLine('#') log.setDebug(False)
log.debug(2,3,4)
log.info('Hello', 'World', 100)
log.blankLine()
CLog().error('This is a test.') log.setDebug(True)
log.debug(20,30,40) log.blankLine()
log.oneLine()
######################
if __name__ == '__main__':
test()

简单实用的日志类CLog (Python版)的更多相关文章

  1. 从头认识Spring-3.8 简单的AOP日志实现(注解版)-扩展添加检查订单功能,以便记录并检測输入的參数

    这一章节我们讨论一下扩展添加检查订单功能,以便记录并检測输入的參数. 1.domain 蛋糕类: package com.raylee.my_new_spring.my_new_spring.ch03 ...

  2. 简单实用的分页类-python

    django自带的分页虽然挺好,但是就想自己弄个通用的 自己写了个分页的类,用的是python,   其他语言改下语法就能用了. #定义好类.class pagemanage: def __init_ ...

  3. php简单实用的调试工具类

    <?php /* * 调试类 */ class Common_Debug { //打开错误报告 public static function showError($debug = true) { ...

  4. C++简单实现Log日志类轻量级支持格式化输出变量

    CLog 头 代码很简单 如果需要的直接Ctrl+C  ----Ctrl+V 即可 #ifndef __CLOG__ #define __CLOG__ #include <windows.h&g ...

  5. 20181015记录一个简单的TXT日志类

    20190422添加换行以及时间记录 using System; using System.Collections.Generic; using System.IO; using System.Lin ...

  6. C#反射实现 C# 反射 判断类的延伸类型 使用代码生成工具Database2Sharp快速生成工作流模块控制器和视图代码 C# ADO.NET的SqlDataReader对象,判断是否包含指定字段 页面中添加锚点的几种方式 .net 简单实用Log4net(多个日志配置文件) C# 常用小点

    C#反射实现   一.反射概念: 1.概念: 反射,通俗的讲就是我们在只知道一个对象的内部而不了解内部结构的情况下,通过反射这个技术可以使我们明确这个对象的内部实现. 在.NET中,反射是重要的机制, ...

  7. zw版_Halcon图像交换、数据格式、以及超级简单实用的DIY全内存计算.TXT

    zw版_Halcon图像交换.数据格式.以及超级简单实用的DIY全内存计算.TXT Halcon由于效率和其他原因,内部图像采用了很多自有格式,提高运行速度,但在数据交换方面非常麻烦. 特别是基于co ...

  8. LogCook 一个简单实用的Android日志管理工具

    众所周知,日志的管理是软件系统很重要的一部分,千万不可忽略其重要性.完整的日志将会在系统维护中起着异常重要的作用,就好像磨刀不误砍柴工一样,日志就像对系统进行分析的工具,工具便捷了,对系统分析起来就能 ...

  9. python 日志类

    简介 在所有项目中必不可少的一定是日志记录系统,python为我们提供了一个比较方便的日志模块logging,通常,我们都会基于此模块编写一个日志记录类,方便将项目中的日志记录到文件中. loggin ...

随机推荐

  1. in window js 未定义和undifined的区别

    浏览器报错:未定义和undifined不是同一概念,前者是没有申明,后者是没有赋值. 1: <html>     <body>         <script>   ...

  2. GlusterFS常用命令

    1.启动/关闭/查看glusterd服务 # /etc/init.d/glusterd start # /etc/init.d/glusterd stop # /etc/init.d/glusterd ...

  3. 在CentOS下源码安装 Xen并搭建Windows虚拟机

    前言 首先要感谢xing的帮助,在他的指导之下才完成环境的搭建,本文档的部分内容来自他的文档.另外,还要感谢——互联网. 1.       环境介绍 Linux: CentOS 6.3 Xen: Xe ...

  4. android 图片尺寸 资料

  5. jackson 转json. 过滤null值

    @Test public void tttttt() throws JsonGenerationException, JsonMappingException, IOException { Objec ...

  6. python使用libssh2连接linux

    1.安装(1)使用下面命令获得最新版本的ssh4py安装包    git clone git://github.com/wallunit/ssh4py (2)解压ssh4py后使用下面命令进行安装: ...

  7. 区间dp-zoj3541-The Last Puzzle

    题目链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3541 题目大意: 在数轴上,有n个按钮,位置递增为d1,d2, ...

  8. JNI 详细解释

    JNI事实上,Java Native Interface缩写,那是,java本地接口.它提供了许多API实现和Java和其它语言的通信(主要是C&C++). 或许不少人认为Java已经足够强大 ...

  9. BZOJ 3446: [Usaco2014 Feb]Cow Decathlon( 状压dp )

    水状压dp. dp(x, s) = max{ dp( x - 1, s - {h} ) } + 奖励(假如拿到的) (h∈s). 时间复杂度O(n * 2^n) ------------------- ...

  10. BZOJ 1342: [Baltic2007]Sound静音问题( 单调队列 )

    一开始写了个RMQ然后就T了... 好吧正解是单调队列, 维护两个单调队列... ----------------------------------------------------------- ...