+
+
+ def get_env_params_values(self):
+
+ try:
+ self.mdc['SYSTEM_NAME'] = os.environ['SYSTEM_NAME']
+ except:
+ self.mdc['SYSTEM_NAME'] = ""
+
+ try:
+ self.mdc['HOST_NAME'] = os.environ['HOST_NAME']
+ except:
+ self.mdc['HOST_NAME'] = ""
+
+ try:
+ self.mdc['SERVICE_NAME'] = os.environ['SERVICE_NAME']
+ except:
+ self.mdc['SERVICE_NAME'] = ""
+
+ try:
+ self.mdc['CONTAINER_NAME'] = os.environ['CONTAINER_NAME']
+ except:
+ self.mdc['CONTAINER_NAME'] = ""
+
+ try:
+ self.mdc['POD_NAME'] = os.environ['POD_NAME']
+ except:
+ self.mdc['POD_NAME'] = ""
+
+
+
+ def update_mdc_log_level_severity(self,level):
+ severity_level = Level.DEBUG
+
+ if(level == ""):
+ print("Invalid Log Level defined in ConfigMap")
+ elif((level.upper() == "ERROR") or (level.upper() == "ERR" )):
+ severity_level = Level.ERROR
+ elif((level.upper() == "WARNING") or (level.upper() == "WARN")):
+ severity_level = Level.WARNING
+ elif(level.upper() == "INFO"):
+ severity_level = Level.INFO
+ elif(level.upper() == "DEBUG"):
+ severity_level = Level.DEBUG
+
+ self.set_level(severity_level)
+
+
+
+
+
+ def parse_file(self):
+ src = open(self.filename,'r')
+ level = ""
+ for line in src:
+ if 'log-level:' in line:
+ level_tmp = str(line.split(':')[-1]).strip()
+ level = level_tmp
+ break
+ src.close()
+ self.update_mdc_log_level_severity(level)
+
+
+
+
+ def monitor_loglevel_change_handler(self):
+ i = inotify.adapters.Inotify()
+ i.add_watch(self.dirname)
+ for event in i.event_gen():
+ if (event is not None) and ('IN_MODIFY' in str(event[1]) or 'IN_DELETE' in str(event[1])):
+ self.parse_file()
+
+
+ def register_log_change_notify(self):
+ t1 = threading.Thread(target=self.monitor_loglevel_change_handler)
+ t1.daemon = True
+ try:
+ t1.start()
+ except (KeyboardInterrupt, SystemExit):
+ cleanup_stop_thread()
+ sys.exit()
+
+
+