Python uses the logging module to implement log writing

The function of logging written to the log implemented by python. The logging module is still very useful

 

 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 
 4 # @Time    : 2018/4/25 17:05
 5 # @Author  : zms
 6 # @Site    : 
 7 # @File    : Log.py
 8 # @Software: PyCharm Community Edition
 9 
10 import time
11 import logging
12 import os
13 from logging.handlers import RotatingFileHandler
14 
15 project_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
16 log_path = project_dir + r"\log\\"
17 
18 
19 class Log(logging.Logger):
20     def __init__(self, logname):
21         # super(MyLogger, self).__init__(filename)
22         filename = log_path + logname + '.log'
23         logging.Logger.__init__(self, filename)
24 
25         # 设置日志格式
26         fmtHandler = logging.Formatter('%(asctime)s [%(filename)s:%(lineno)s][%(levelname)s] %(message)s')
 27  
28          # Terminal log output stream setting 
29          try :
 30              consoleHd = logging.StreamHandler()
 31              consoleHd.setLevel(logging.ERROR)
 32              consoleHd.setFormatter(fmtHandler)
 33              self.addHandler(consoleHd)
 34          except Exception as reason:
 35              self.error( " %s " % reason)
 36  
37              #Set log file 
38          try :
 39              os.makedirs(os.path.dirname(filename))
 40          exceptException as reason:
 41              pass 
42          try :
 43              #Set the rollback log, each log has a maximum of 10M, and a maximum of 5 logs are backed up 
44              fileHd = logging.handlers.RotatingFileHandler(
 45                  filename, maxBytes=10 * 1024 * 1024, backupCount=5 )
 46              # fileHd = logging.FileHandler(filename) 
47              fileHd.setLevel(logging.INFO)
 48              fileHd.setFormatter(fmtHandler)
 49              self.addHandler(fileHd)
 50          except Exception as reason:
 51              self.error( " %s " % reason)
52 
53         return
54 
55 
56 
57 if __name__ == '__main__':
58     test1 = Log('test1')
59     test2 = Log('test2')
60     while True:
61         test1.error("test1")
62         test2.error("test2")

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324980977&siteId=291194637