#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. easyui只选择年份月份的插件---SimpleCanleder

    <td>日期</td> <td> <input type="text" id="search_begindate" s ...

  2. Data Annotation

    Data Annotation 什么是Data Annotation ? 如何使用 ? 自定义Validate Attribute EF  Db first中使用Data Annotation asp ...

  3. eclipse中使用maven插件的时候,运行run as maven build的时候报错

    -Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable a ...

  4. 关于Linux路由表的route命令(转)

    查看 Linux 内核路由表 使用下面的 route 命令可以查看 Linux 内核路由表. # route Destination  Gateway      Genmask          Fl ...

  5. Get started - UIkit documentation

    Get started - UIkit documentation Get started Get familiar with the basic setup and structure of UIk ...

  6. SharePoint数据视图无法打开

    最近在折腾SharePoint,之前列表常用的“数据视图”居然不能打开,提示“没有安装Sharepoit foundation 数据兼容组件”如图: 上网G下.度下有说要删除注册表.要安装office ...

  7. U盘只剩下快捷方式

    原理: 其实,这个是一种叫1KB病毒(也称之为快捷方式病毒.风暴一号)惹的祸,它是一种恶意的蠕虫病毒,执行以下恶意操作:1.当你的U盘放到一个已经被感染 的主机上时,主机(我的电脑)上的病毒体进程首先 ...

  8. wxpython 32 位 ,python 64 位问题

    在安装Python Wxpython模块后,导入包的时候,会提示不支持64位的支持,需要安装Pythons 32 位,或者强制,使用Python 32 模式运行即可 在终端输入: defaults w ...

  9. 试解析Tomcat运行原理(一)--- socket通讯(转)

    关于这篇文章也确实筹划了很久,今天决定开篇写第一篇,说起tomcat首先很容易联想到IIS,因为我最开始使用的就是.net技术,我第一次使用asp写学生成绩管理系统后,很茫然如何让别人都能看到或者说使 ...

  10. Git 在小团队中的管理流程(转)

    目标读者:了解 Git 的基本概念,能够使用 Git 进行基本的本地和远程操作. 有关 Git 的基础知识可以参见 知乎回答-怎样使用 GitHub?,天猪(刘勇)给出了一些很好的学习资料. 本文介绍 ...