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====\n%s\n' % (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====\n%s\n' % (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__))

 

转载于:https://www.cnblogs.com/wujf/p/6437233.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值