mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-16 02:02:58 -07:00
Filter out tokens/keys/passwords from logger
This commit is contained in:
parent
498a074222
commit
ed8c7c1052
2 changed files with 42 additions and 0 deletions
|
@ -33,6 +33,8 @@ FILENAME = "plexpy.log"
|
|||
MAX_SIZE = 1000000 # 1 MB
|
||||
MAX_FILES = 5
|
||||
|
||||
_BLACKLIST_WORDS = []
|
||||
|
||||
# PlexPy logger
|
||||
logger = logging.getLogger("plexpy")
|
||||
|
||||
|
@ -62,6 +64,26 @@ class NoThreadFilter(logging.Filter):
|
|||
return not record.threadName == self.threadName
|
||||
|
||||
|
||||
# Taken from Hellowlol/HTPC-Manager
|
||||
class BlacklistFilter(logging.Filter):
|
||||
"""
|
||||
Log filter for blacklisted tokens and passwords
|
||||
"""
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def filter(self, record):
|
||||
for item in _BLACKLIST_WORDS:
|
||||
try:
|
||||
if item in record.msg:
|
||||
record.msg = record.msg.replace(item[:-2], 8 * '*')
|
||||
if any(item in str(arg) for arg in record.args):
|
||||
record.args = tuple(arg.replace(item[:-2], 8 * '*') for arg in record.args)
|
||||
except:
|
||||
pass
|
||||
return True
|
||||
|
||||
|
||||
@contextlib.contextmanager
|
||||
def listener():
|
||||
"""
|
||||
|
@ -153,6 +175,7 @@ def initLogger(console=False, log_dir=False, verbose=False):
|
|||
# Add list logger
|
||||
loglist_handler = LogListHandler()
|
||||
loglist_handler.setLevel(logging.DEBUG)
|
||||
loglist_handler.addFilter(BlacklistFilter())
|
||||
|
||||
logger.addHandler(loglist_handler)
|
||||
|
||||
|
@ -164,6 +187,7 @@ def initLogger(console=False, log_dir=False, verbose=False):
|
|||
file_handler = handlers.RotatingFileHandler(filename, maxBytes=MAX_SIZE, backupCount=MAX_FILES)
|
||||
file_handler.setLevel(logging.DEBUG)
|
||||
file_handler.setFormatter(file_formatter)
|
||||
file_handler.addFilter(BlacklistFilter())
|
||||
|
||||
logger.addHandler(file_handler)
|
||||
|
||||
|
@ -173,6 +197,7 @@ def initLogger(console=False, log_dir=False, verbose=False):
|
|||
console_handler = logging.StreamHandler()
|
||||
console_handler.setFormatter(console_formatter)
|
||||
console_handler.setLevel(logging.DEBUG)
|
||||
console_handler.addFilter(BlacklistFilter())
|
||||
|
||||
logger.addHandler(console_handler)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue