All logs that have filenames or paths now also supply these as args to the logger. They then receive their own field mapping in the document sent to elastic.

This commit is contained in:
2019-05-01 12:13:59 +02:00
parent 829a60f570
commit 0d394b8d1d

View File

@@ -7,7 +7,7 @@ from logger import logger
from utils import getConfig
def getFiles(path, host=None, user=None):
logger.info('Getting filenames from path: {}'.format(path))
logger.info('Getting filenames from path: {}'.format(path), es={'filename': path})
if (host and user):
cmd = "ssh {}@{} ls '{}'".format(user, host, path)
else:
@@ -32,7 +32,7 @@ def transferFiles(files, localPath, remotePath, host=None, user=None):
transferedFiles = []
for file in files:
logger.info('Moving file: {}'.format(file))
logger.info('Moving file: {}'.format(file), es={'file': file})
if file in getFiles(remotePath, host, user):
logger.info('File already exists at remote path. Skipping.')
continue
@@ -61,7 +61,7 @@ def removeFromDeluge(execScript, files):
for file in files:
file = file.split('/')[-1]
logger.info('Removing {} from deluge'.format(file))
logger.info('Removing {} from deluge'.format(file), es="filename": file)
cmd = "{} {} rm '{}'".format(execPython, execScript, file)
delugeProcess = Popen(cmd, stdout=PIPE, stderr=PIPE, shell=True)
@@ -71,7 +71,7 @@ def removeFromDeluge(execScript, files):
logger.error('Deluge error: {}'.format(stderr))
logger.debug('Deluge output: {}'.format(stdout))
logger.info('Successfully removed: {}'.format(file))
logger.info('Successfully removed: {}'.format(file), es={'filename': file})
def main():
config = getConfig()
@@ -83,7 +83,7 @@ def main():
remoteFiles = getFiles(remotePath, host, user)
if len(remoteFiles) > 0:
logger.info('Remote files found: {}'.format(remoteFiles))
logger.info('Remote files found: {}'.format(remoteFiles), es={'files': remoteFiles})
else:
logger.info('No remote files found')
# print('Remote found: {}'.format(remoteFiles))
@@ -91,14 +91,15 @@ def main():
localFiles = getFiles(localPath)
# print('Local files: {}'.format(localFiles))
if len(localFiles) > 0:
logger.info('Local files found: {}'.format(localFiles))
logger.info('Local files found: {}'.format(localFiles), es={'files': localFiles})
else:
logger.info('No local files found')
newFiles = filesNotShared(localFiles, remoteFiles)
if (newFiles):
logger.info('New files: {}'.format(newFiles))
logger.info('Existing files: {}'.format(list(set(remoteFiles).intersection(localFiles))))
logger.info('New files: {}'.format(newFiles), es={'files': newFiles})
exisitingFiles = list(set(remoteFiles).intersection(localFiles))
logger.info('Existing files: {}'.format(exisitingFiles), es={'files': exisitingFiles})
transferedFiles = transferFiles(newFiles, localPath, remotePath, host, user)
removeFromDeluge(delugeScript, transferedFiles)