From c7ace886dede07cab8034337f136479ef32051bc Mon Sep 17 00:00:00 2001 From: Thuban <thuban@yeuxdelibad.net> Date: Mon, 21 Aug 2017 13:40:38 +0000 Subject: [PATCH] support logrotate --- vilain.py | 18 +++++++++++------- 1 files changed, 11 insertions(+), 7 deletions(-) diff --git a/vilain.py b/vilain.py index 0a5168c..d36c59f 100755 --- a/vilain.py +++ b/vilain.py @@ -24,6 +24,7 @@ import configparser import re import logging +import logging.handlers import subprocess import asyncio import time @@ -38,10 +39,13 @@ sys.exit(1) # Configure logging +log_handler = logging.handlers.WatchedFileHandler(LOGFILE) +formatter = logging.Formatter( + '%(asctime)s %(module)s:%(funcName)s:%(message)s', + '%b %d %H:%M:%S') +log_handler.setFormatter(formatter) logger = logging.getLogger(__name__) -logging.basicConfig(filename=LOGFILE, - format='%(asctime)s %(module)s:%(funcName)s:%(message)s', - datefmt='%H:%M:%S') +logger.addHandler(log_handler) logger.setLevel(logging.INFO) # functions @@ -156,7 +160,7 @@ await self.bad_ip_queue.put({'ip' : bad_ip, 'maxtries': maxtries, 'reason' : reason}) logger.debug('queue size: {}'.format(self.bad_ip_queue.qsize())) else: - logger.info('line match {}. But IP in ingore list'.format(bad_ip)) + logger.info('line match {}. But IP in ignore list'.format(bad_ip)) size = stat.st_size async def ban_ips(self): @@ -164,7 +168,7 @@ record time when this IP has been seen in ip_seen_at = { ip:{'time':<time>,'count':<counter} } and ban with pf """ - logger.info('ban_ips sarted') + logger.info('ban_ips started') while True: ip_item = await self.bad_ip_queue.get() logger.debug('ban_ips awake') @@ -185,9 +189,9 @@ """ check old ip in ip_seen_at : remove older than watch_while """ - logger.info('clean_ips sarted with sleeptime={}'.format(self.sleeptime)) + logger.info('clean_ips started with sleeptime={}'.format(self.sleeptime)) while True: - await asyncio.sleep(self.sleeptime) + await asyncio.sleep(self.watch_while) to_remove = [] for recorded_ip, data in self.ip_seen_at.items(): if time.time() - data['time'] >= self.watch_while: -- Gitblit v1.9.3