QOL and PEP8 Cleanup for logger

This commit is contained in:
Nicholas St. Germain 2018-12-17 18:00:01 -06:00
parent ecc2a8abdf
commit 47f2f61082
2 changed files with 16 additions and 20 deletions

View file

@ -64,8 +64,8 @@ systemctl enable varken
``` ```
### Docker ### Docker
[![Docker-Layers](https://images.microbadger.com/badges/image/boerderij/varken.svg)](https://microbadger.com/images/boerderij/varken") [![Docker-Layers](https://images.microbadger.com/badges/image/boerderij/varken.svg)](https://microbadger.com/images/boerderij/varken)
[![Docker-Version](https://images.microbadger.com/badges/version/boerderij/varken.svg)](https://microbadger.com/images/boerderij/varken") [![Docker-Version](https://images.microbadger.com/badges/version/boerderij/varken.svg)](https://microbadger.com/images/boerderij/varken)
[![Docker Pulls](https://img.shields.io/docker/pulls/boerderij/varken.svg)](https://hub.docker.com/r/boerderij/varken/) [![Docker Pulls](https://img.shields.io/docker/pulls/boerderij/varken.svg)](https://hub.docker.com/r/boerderij/varken/)
[![Docker Stars](https://img.shields.io/docker/stars/boerderij/varken.svg)](https://hub.docker.com/r/boerderij/varken/) [![Docker Stars](https://img.shields.io/docker/stars/boerderij/varken.svg)](https://hub.docker.com/r/boerderij/varken/)
<details><summary>Example</summary> <details><summary>Example</summary>

View file

@ -4,20 +4,19 @@ from logging.handlers import RotatingFileHandler
from varken.helpers import mkdir_p from varken.helpers import mkdir_p
FILENAME = "varken.log"
MAX_SIZE = 5000000 # 5 MB
MAX_FILES = 5
LOG_FOLDER = 'logs'
# Taken from Hellowlol/HTPC-Manager/Tautulli
class BlacklistFilter(logging.Filter): class BlacklistFilter(logging.Filter):
""" """
Log filter for blacklisted tokens and passwords Log filter for blacklisted tokens and passwords
""" """
filename = "varken.log"
max_size = 5000000 # 5 MB
max_files = 5
log_folder = 'logs'
blacklisted_strings = ['apikey', 'username', 'password'] blacklisted_strings = ['apikey', 'username', 'password']
def __init__(self, filteredstrings): def __init__(self, filteredstrings):
super().__init__()
self.filtered_strings = filteredstrings self.filtered_strings = filteredstrings
def filter(self, record): def filter(self, record):
@ -28,14 +27,12 @@ class BlacklistFilter(logging.Filter):
if any(item in str(arg) for arg in record.args): if any(item in str(arg) for arg in record.args):
record.args = tuple(arg.replace(item, 8 * '*' + item[-2:]) if isinstance(arg, str) else arg record.args = tuple(arg.replace(item, 8 * '*' + item[-2:]) if isinstance(arg, str) else arg
for arg in record.args) for arg in record.args)
except TypeError:
except:
pass pass
return True return True
class VarkenLogger(object): class VarkenLogger(object):
"""docstring for ."""
def __init__(self, debug=None, data_folder=None): def __init__(self, debug=None, data_folder=None):
self.data_folder = data_folder self.data_folder = data_folder
self.log_level = debug self.log_level = debug
@ -47,23 +44,22 @@ class VarkenLogger(object):
else: else:
self.log_level = logging.INFO self.log_level = logging.INFO
# Make the log directory if it does not exist # Make the log directory if it does not exist
mkdir_p('{}/{}'.format(self.data_folder, LOG_FOLDER)) mkdir_p('{}/{}'.format(self.data_folder, BlacklistFilter.log_folder))
# Create the Logger # Create the Logger
self.logger = logging.getLogger() self.logger = logging.getLogger()
self.logger.setLevel(logging.DEBUG) self.logger.setLevel(logging.DEBUG)
# Create a Formatter for formatting the log messages # Create a Formatter for formatting the log messages
logger_formatter = logging.Formatter('%(asctime)s : %(levelname)s : %(module)s : %(message)s', '%Y-%m-%d %H:%M:%S') logger_formatter = logging.Formatter('%(asctime)s : %(levelname)s : %(module)s : %(message)s',
'%Y-%m-%d %H:%M:%S')
# Create the Handler for logging data to a file # Create the Handler for logging data to a file
file_logger = RotatingFileHandler('{}/{}/{}'.format(self.data_folder, LOG_FOLDER, FILENAME), file_logger = RotatingFileHandler('{}/{}/{}'.format(self.data_folder, BlacklistFilter.log_folder,
mode='a', maxBytes=MAX_SIZE, BlacklistFilter.filename), mode='a',
backupCount=MAX_FILES, maxBytes=BlacklistFilter.max_size, backupCount=BlacklistFilter.max_files,
encoding=None, delay=0 encoding=None, delay=0)
)
file_logger.setLevel(self.log_level) file_logger.setLevel(self.log_level)