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