Python简单日志处理类分享

yipeiwu_com6年前Python基础

简单的一个python日志处理类

复制代码 代码如下:

#/usr/bin/python
#coding=utf-8

import time,types

class logsys:

    def __init__(self, project, logfilename = 'sys_log.txt'):
        self.project = project
        self.logfilename = logfilename

    def get_log_time(self):
        return time.strftime("%Y-%m-%d %X", time.localtime())

    def write2file(self, *formart):
        s = self.formart_string(*formart)
        if s:
            encoding = 'utf8'
            out = open(self.logfilename, 'a+')
            out.write(s + "\n")
            out.close()
        else:
            pass

    def formart_string(self, *formart):
        string = ''
        encoding = 'utf8'
        for str in formart:
            if not type(str) in [types.UnicodeType, types.StringTypes, types.StringType]:
                s = repr(str)
            else:
                s = str
            if type(s) == type(u''):
                string += s.encode(encoding) + "\t"
            else:
                string += s + "\t"
        return string

    def w(self,notice,*formart):
        self.write2file(self.get_log_time(), '[' + notice + ']', self.project, *formart)

相关文章

python算法表示概念扫盲教程

python算法表示概念扫盲教程

本文为大家讲解了python算法表示概念,供大家参考,具体内容如下 常数阶O(1) 常数又称定数,是指一个数值不变的常量,与之相反的是变量 为什么下面算法的时间复杂度不是O(3),而是O...

Python bsddb模块操作Berkeley DB数据库介绍

bsddb模块是用来操作bdb的模块,bdb是著名的Berkeley DB,它的性能非常好,mysql的存储后端引擎都支持bdb的方式。这里简单介绍一些关于bsddb的使用方法。 bdb...

pytorch 获取层权重,对特定层注入hook, 提取中间层输出的方法

如下所示: #获取模型权重 for k, v in model_2.state_dict().iteritems(): print("Layer {}".format(k)) p...

python多进程操作实例

python多进程操作实例

由于CPython实现中的GIL的限制,python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况我们需要使用多进程。 这也许就是pyt...

python中的字典使用分享

字典中的键使用时必须满足一下两个条件: 1、每个键只能对应一个项,也就是说,一键对应多个值时不允许的(列表、元组和其他字典的容器对象除外)。当有键发生冲突时(即字典键重复赋值),取最后的...