python 写日志nnlog模块&异常处理

1、写日志

 1 import nnlog
 2 import traceback
 3 
 4 # backCount:保留多久时间的日志,5表示保留最近5天的日志
 5 # when:按什么产生日志文件,D表示按天产生日志文件;S按秒,M按分钟
 6 # level:日志级别;
 7 # log.debug()
 8 # log.info()
 9 # log.error()
10 # log.warning()
11 log = nnlog.Logger('python.log',level='debug',backCount=5,when='D')
12 log.warning("写日志注意了!!")
13 log.info("第一条info信息")
14 log.error("出错啦!!")
15 log.debug("非常详细的日志")
16 # log.surprise()
17 
18 
19 def test():
20     try:
21         1/0
22     except Exception:
23         print('error')
24         log.error(traceback.format_exc())
25         return
26     finally:
27         print('abc')
28 
29 test()

结果:写入python.log文件

2、异常处理

 1 l = [1,2,3]
 2 d = {}
 3 
 4 try:
 5     print(l[2])
 6     # print(d['name'])
 7 except Exception as e:
 8     print("出异常了",e)
 9 else:
10     print("不出异常的时候走到这里")
11 finally:
12     print("都会走")

3、小练习

 1 import pymysql
 2 import nnlog
 3 
 4 
 5 mysql_info = {
 6     'host':'xxx',
 7     'port':3306,
 8     'db':'jxz',
 9     'password':'xxx',
10     'charset':'utf8',
11     'autocommit':True,
12     'user':'jxz'
13 }
14 
15 log = nnlog.Logger('python.log',level='debug',backCount=5,when='D')
16 
17 
18 def op_db(sql,one_tag=True):
19     try:
20         log.info("开始连接数据库,数据库连接信息是%s"%mysql_info)
21         connect = pymysql.connect(**mysql_info)
22     except Exception as e:
23         log.error("数据库连接失败")
24         return "001"
25     else:
26         log.debug("开始建立游标")
27         cur = connect.cursor(pymysql.cursors.DictCursor)
28         try:
29             log.info("开始执行sql")
30             log.info("sql语句是%s" %sql)
31             cur.execute(sql)
32         except Exception as e:
33             log.error("sql出错")
34             return "002"
35         else:
36             if one_tag:
37                 result = cur.fetchone()
38             else:
39                 result = cur.fetchall()
40         finally:
41             cur.close()
42             connect.close()
43             return result

猜你喜欢

转载自www.cnblogs.com/tour8/p/12969345.html