zoukankan      html  css  js  c++  java
  • python工具之日志记录

     1 '''
     2 写日志类
     3 日志存放目录为当前应用程序的目录下的log目录中
     4 日志产生规则:每小时产生一个文件
     5 write by :wujf
     6 2017-02-24
     7 '''
     8 import sys
     9 import os
    10 import threading
    11 import time
    12 import traceback
    13 
    14 mutex = threading.Lock()
    15 # 标记是否为控制台输出
    16 console = True
    17 # console = False
    18 
    19 
    20 class log:
    21     def wirteFile(temp):        
    22         if mutex.acquire():
    23             # 这是里可以设置日志的文件生成规则
    24             now = time.strftime(
    25                 '%Y%m%d%H', time.localtime(time.time())) + '.log'
    26             path = os.path.join(sys.path[0], 'log')
    27             if os.path.exists(path) == False:
    28                 os.mkdir(path)
    29             filename = os.path.join(path, now)
    30             fileHandle = open(filename, 'a', encoding='utf-8')
    31             fileHandle.write(str(temp))
    32             fileHandle.close()
    33             mutex.release()
    34 
    35     # 写日志入口
    36     def info(temp):                
    37         '''
    38         打印基本信息
    39         '''
    40         now = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
    41         temp = '====%s====
    %s
    ' % (now, temp)
    42         if console:
    43             print(temp)
    44         else:
    45             threading.Thread(target=log.wirteFile, args=(temp,)).start()
    46             # log.wirteFile(temp)
    47 
    48     def error(ex):
    49         '''
    50         打印异常信息
    51         '''
    52         now = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
    53         temp = '====%s====
    %s
    ' % (now, traceback.format_exc())
    54         if console:
    55             print(temp)
    56         else:
    57             threading.Thread(target=log.wirteFile, args=(temp,)).start()
    58             # log.wirteFile(temp)
    59 
    60     def recordPyInfo():
    61         '''
    62         记录执行的脚本信息
    63         '''
    64         log.info(os.path.realpath(__file__))

    有追求,才有动力!

    向每一个软件工程师致敬!

    by wujf

    mail:921252375@qq.com

  • 相关阅读:
    P1828 [USACO3.2]香甜的黄油 Sweet Butter 题解
    P2058 海港 题解
    浅谈三分算法
    海伦公式的证明
    一年一回首
    再谈单调队列优化 & 背包九讲
    浅谈单调队列
    P1440 求m区间内的最小值 题解
    CF1374B Multiply by 2, divide by 6 题解
    组合数、杨辉三角与递推算法
  • 原文地址:https://www.cnblogs.com/wujf/p/6437233.html
Copyright © 2011-2022 走看看