Advertisement
pegorino

log_config

Jan 11th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.75 KB | None | 0 0
  1. import logging
  2. import logging.handlers
  3.  
  4. format = logging.Formatter(
  5.     '%(asctime)s   %(levelname)-8s    %(module)s    %(filename)s    %(message)s')
  6.  
  7.  
  8. # декоратор для сервера
  9. def server_log(f):
  10.     func = f
  11.  
  12.     h = logging.handlers.TimedRotatingFileHandler('serverlog.log', 'midnight', encoding='utf-8')
  13.     h.setFormatter(format)
  14.     logger = logging.getLogger('serverLogger')
  15.     logger.addHandler(h)
  16.  
  17.     func_name = func.__name__
  18.  
  19.     def wrapper(*args, **kwargs):
  20.         result = func(args, kwargs)
  21.  
  22.         if result:
  23.             logger.setLevel(logging.INFO)
  24.             logger.info('{} {} {}'.format(func_name, args, kwargs))
  25.         else:
  26.             logger.setLevel(logging.CRITICAL)
  27.             logger.critical('{} {} {}'.format(func_name, args, kwargs))
  28.         return result
  29.  
  30.     return wrapper
  31.  
  32.  
  33. # декоратор для клиента
  34. def client_log(f):
  35.     func = f
  36.  
  37.     h = logging.FileHandler('clientlog.log', encoding='utf-8')
  38.     h.setFormatter(format)
  39.     logger = logging.getLogger('clientLogger')
  40.     logger.addHandler(h)
  41.  
  42.     func_name = func.__name__
  43.  
  44.     def wrapper(*args, **kwargs):
  45.         result = func(*args, **kwargs)
  46.  
  47.         if result:
  48.             logger.setLevel(logging.INFO)
  49.             logger.info('{} {} {}'.format(func_name, args, kwargs))
  50.         else:
  51.             logger.setLevel(logging.CRITICAL)
  52.             logger.critical('{} {} {}'.format(func_name, args, kwargs))
  53.         return result
  54.  
  55.     return wrapper
  56.  
  57.  
  58. if __name__ == '__main__':
  59.  
  60.     @server_log
  61.     def server(*args, **kwargs):
  62.         print('===server function===')
  63.         if args or kwargs:
  64.             return True
  65.         else:
  66.             return False
  67.  
  68.  
  69.     server(1, 2)
  70.  
  71.     server()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement