def update_stack_test_results(root_folder, rating_dict, default_weight): LogConfig.init_logging() logger = logging.getLogger(__name__) daily_folders = testing.get_daily_directories(root_folder) model = Model('stack_test_result') column_list = ['daily_folder',] parsed_folders = [record['daily_folder'] for record in model.select(column_list)] for daily_folder in daily_folders: if daily_folder in parsed_folders: continue try: daily_results = testing.get_daily_results_from_daily_directory(daily_folder) parsed_results = testing.parse_test_result(daily_results, rating_dict, default_weight) crio_date = parsed_results['crio_date'] results = parsed_results['results'] for os_name, pass_rates in results.items(): for target_model, pass_rate in pass_rates.items(): table_record = { 'daily_folder': daily_folder, 'validated_stack': crio_date, 'os_name': os_name, 'target_name': target_model, 'pass_rate': pass_rate } model.insert(table_record) except Exception as e: logger.warning('Exception happened: %s', e)
def LoadConfig(self, config=None): if not config: config = self._defaultConfig self._config = LogConfig(config) self._minimalLevel = LogEventLevel[self._config.GetLogRoot() ["MinLevel"]] for appender_name in self._config.GetLogAppenders(): if self._config.GetLogAppenders( )[appender_name]["Type"] == "FileAppender": self._logPath = self._config.GetLogAppenders( )[appender_name]["File"]["Path"] self._appendTo = self._config.GetLogAppenders( )[appender_name]["File"]["AppendTo"] == "True"
main_config.NEWER_THAN_DATE) logger.info('UPDATE TABLE myrio_%s_bundle_installer_dashboard', year) update_bundle_installer('myrio_'+year+'_bundle_installer_dashboard', main_config.MYRIO_BUNDLE_INSTALLER_DAILY_FOLDER, ['myRIO-1900'], ['myRIO_DVD1', 'myRIO_DVD2'], main_config.NEWER_THAN_DATE) logger.info('UPDATE TABLE roborio_%s_bundle_installer_dashboard', year) update_bundle_installer('roborio_'+year+'_bundle_installer_dashboard', main_config.ROBORIO_BUNDLE_INSTALLER_DAILY_FOLDER, ['roboRIO'], ['roboRIO_DVD1', 'roboRIO_DVD2'], main_config.NEWER_THAN_DATE) logger.info('UPDATE TABLE stack_test_result') update_stack_test_results(main_config.SANITY_TEST_ROOT_FOLDER, main_config.SANITY_TEST_RATING_DICT, main_config.SANITY_TEST_DEFAULT_WEIGHT) if __name__ == '__main__': LogConfig.init_logging() # make sure the db file in the cwd. cwd = os.path.dirname(__file__) if cwd != '': os.chdir(os.path.dirname(__file__)) update_db(main_config.CURRENT_YEAR)
class Logger(): def __init__(self): self._minimalLevel = LogEventLevel.VERBO self._config = None self._defaultConfig = "LogConfig.xml" self._logPath = "Logger.log" self._appendTo = True self._logFile = None def LoadConfig(self, config=None): if not config: config = self._defaultConfig self._config = LogConfig(config) self._minimalLevel = LogEventLevel[self._config.GetLogRoot() ["MinLevel"]] for appender_name in self._config.GetLogAppenders(): if self._config.GetLogAppenders( )[appender_name]["Type"] == "FileAppender": self._logPath = self._config.GetLogAppenders( )[appender_name]["File"]["Path"] self._appendTo = self._config.GetLogAppenders( )[appender_name]["File"]["AppendTo"] == "True" def EnableAppender(self, appenderType, enable): for appender_name in self._config.GetLogAppenders(): if self._config.GetLogAppenders( )[appender_name]["Type"] == appenderType: self._config.GetLogAppenders( )[appender_name]["Enabled"] = enable def SetLogPath(self, log): self._logPath = log def SetLogAppendTo(self, appendTo): if self._appendTo != appendTo: self._logFile = None self._appendTo = appendTo def IsEnabled(self, level): if level.value < self._minimalLevel.value: return False return True def Write(self, level, message, exception=None): self.WriteImp(LogEvent(level, message, exception)) def WriteImp(self, event): if not self.IsEnabled(event.GetLevel()): return for appender_name in self._config.GetLogAppenders(): appender = self._config.GetLogAppenders()[appender_name] if appender["Enabled"]: if appender["Type"] == "FileAppender": if not self._logFile: if self._appendTo: self._logFile = open(self._logPath, "a+") else: self._logFile = open(self._logPath, "w+") self._logFile.write(appender["Pattern"].format( event.GetTimestamp(), event.GetLevel().name, event.GetMessage()) + "\n") if event.GetException(): self._logFile.write(appender["Pattern"].format( event.GetTimestamp(), event.GetLevel().name, event.GetException()) + "\n") if appender["Type"] == "ConsoleAppender": print(appender["Pattern"].format(event.GetTimestamp(), event.GetLevel().name, event.GetMessage())) if event.GetException(): print(appender["Pattern"].format( event.GetTimestamp(), event.GetLevel().name, event.GetException())) if appender["Type"] == "ColoredConsoleAppender": if event.GetLevel().name in appender["Colors"]: fore_color = appender["Colors"][ event.GetLevel().name]["ForeColor"] if fore_color: print(LogColor[fore_color].value + appender["Pattern"].format( event.GetTimestamp(), event.GetLevel().name, event.GetMessage()) + LogColor["ENDC"].value) if event.GetException(): print(LogColor[fore_color].value + appender["Pattern"].format( event.GetTimestamp(), event.GetLevel().name, event.GetException()) + LogColor["ENDC"].value) else: print(appender["Pattern"].format( event.GetTimestamp(), event.GetLevel().name, event.GetMessage())) if event.GetException(): print(appender["Pattern"].format( event.GetTimestamp(), event.GetLevel().name, event.GetException())) def Verbose(self, message, exception=None): self.Write(LogEventLevel.VERBO, message, exception) def Debug(self, message, exception=None): self.Write(LogEventLevel.DEBUG, message, exception) def Information(self, message, exception=None): self.Write(LogEventLevel.INFOR, message, exception) def Warning(self, message, exception=None): self.Write(LogEventLevel.WARNN, message, exception) def Error(self, message, exception=None): self.Write(LogEventLevel.ERROR, message, exception) def Fatal(self, message, exception=None): self.Write(LogEventLevel.FATAL, message, exception)