logger = logging.getLogger() logger.setLevel(logging.DEBUG) if log_config is not None: logger.addFilter(AppNameFilter(log_config["application-name"])) handler = graypy.GELFHandler(log_config["host"], log_config["port"]) logger.addHandler(handler) for module in config["modules"]: obj_module = Module(json_config=module) obj_module.get_hw_module() modules.append(obj_module) logger.addFilter(ModuleFilter(obj_module)) alerts.append(ModuleDisconnectedAlert("alert.module.%s" % obj_module.hwid, obj_module)) for sensor in module["sensors"]: obj_sensor = Sensor(obj_module, json_config=sensor) obj_sensor.get_hw_sensor() sensors.append(obj_sensor) logger.addFilter(SensorFilter(obj_sensor)) for alert in sensor["alerts"]: obj_alert = SensorAlert(obj_sensor, json_config=alert) alerts.append(obj_alert) try: states_file_read = open('states.json', 'r') except FileNotFoundError: print("States persistence file not found. Initializing with default states.") else: states_read = json.load(states_file_read) states_file_read.close() for alert in alerts: if alert.id in states_read: