From 65d6e01a32d681a55c87cba5d37d785b23bd980a Mon Sep 17 00:00:00 2001
From: Jonas <jonas@holm.tech>
Date: Mon, 18 Mar 2019 17:12:56 +0100
Subject: [PATCH] Added: function for setup of file logging

---
 Script/cs/Tools/utils.py | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/Script/cs/Tools/utils.py b/Script/cs/Tools/utils.py
index 6745e81..e068dd5 100644
--- a/Script/cs/Tools/utils.py
+++ b/Script/cs/Tools/utils.py
@@ -4,6 +4,7 @@ import zlib
 import ctypes
 import time
 import datetime
+import os
 
 #### Set Log severity level #####
 def set_log_level(level, logger):
@@ -20,6 +21,29 @@ def set_log_level(level, logger):
 
 formatter = logging.Formatter('%(asctime)s %(levelname)-8s [%(filename)s:%(lineno)d] %(message)s')
 
+def enableFileLogging(loggerName, fileName, filePath, logLevel):
+    """Enables file logging to a file with fileName at filePath. 
+    It will make a logger with loggerName as identifier, at the specified loglevel,
+    
+    It will afterwards be retrievable with the use of logging.getLogger(loggerName), from any thread as long as it is in the same process.
+
+    Filename should formatted like this: name + Log.out
+    
+    returns a reference to a properly configured logger"""
+    
+    ##### Setup FileHandler for Logger #####
+    logFilePath = os.path.join(str(filePath),fileName)
+    fileHandler = logging.FileHandler(logFilePath,'w')
+    fileHandler.setFormatter(formatter)
+
+    ##### Set LogLevel for filehandler #####
+    set_log_level(logLevel, fileHandler)
+    logger = logging.getLogger(loggerName)
+    logger.addHandler(fileHandler)
+
+    return logger
+
+
 def gettid():
     #This is linux specific ...
     SYS_gettid = 186
-- 
GitLab