[Bf-blender-cvs] [40c417dc2a7] soc-2020-info-editor: Add basic formatting options for log
Mateusz GrzeliÅski
noreply at git.blender.org
Mon Aug 10 13:36:47 CEST 2020
Commit: 40c417dc2a75221bd8129445d13a2fa12f55cc2e
Author: Mateusz Grzeliński
Date: Fri Aug 7 14:20:22 2020 +0200
Branches: soc-2020-info-editor
https://developer.blender.org/rB40c417dc2a75221bd8129445d13a2fa12f55cc2e
Add basic formatting options for log
===================================================================
M source/blender/editors/space_info/info_intern.h
M source/blender/editors/space_info/info_report.c
M source/blender/editors/space_info/space_info.c
===================================================================
diff --git a/source/blender/editors/space_info/info_intern.h b/source/blender/editors/space_info/info_intern.h
index d3301ff2651..2bb6f3d4b94 100644
--- a/source/blender/editors/space_info/info_intern.h
+++ b/source/blender/editors/space_info/info_intern.h
@@ -58,7 +58,7 @@ void info_textview_main(const struct SpaceInfo *sinfo,
const struct ReportList *reports);
/* info_report.c */
-ReportList *clog_to_report_list(void);
+ReportList *clog_to_report_list(struct SpaceInfo *sinfo);
int info_report_mask(const struct SpaceInfo *sinfo);
bool info_filter_text(const Report *report, const char *search_string);
void INFO_OT_select_pick(struct wmOperatorType *ot); /* report selection */
diff --git a/source/blender/editors/space_info/info_report.c b/source/blender/editors/space_info/info_report.c
index b7632813663..919c45df236 100644
--- a/source/blender/editors/space_info/info_report.c
+++ b/source/blender/editors/space_info/info_report.c
@@ -482,7 +482,7 @@ void INFO_OT_report_copy(wmOperatorType *ot)
}
/** Return newly allocated ReportList created from log records */
-ReportList *clog_to_report_list()
+ReportList *clog_to_report_list(SpaceInfo *sinfo)
{
ReportList *reports = MEM_mallocN(sizeof(*reports), "ClogConvertedToReportList");
BKE_reports_init(reports, 0);
@@ -496,15 +496,39 @@ ReportList *clog_to_report_list()
while (log) {
DynStr *dynStr = BLI_dynstr_new();
- /* TODO (grzelins) implement formatting filters */
- BLI_dynstr_append(dynStr, clg_severity_as_text(log->severity));
- BLI_dynstr_append(dynStr, " (");
- BLI_dynstr_append(dynStr, log->type->identifier);
- BLI_dynstr_append(dynStr, "): ");
- BLI_dynstr_append(dynStr, log->file_line);
- BLI_dynstr_append(dynStr, " ");
- BLI_dynstr_append(dynStr, log->function);
- BLI_dynstr_append(dynStr, ":\n");
+ if (sinfo->log_format & INFO_LOG_SHOW_TIMESTAMP) {
+ char timestamp_str[64];
+ const uint64_t timestamp = log->timestamp;
+ snprintf(timestamp_str,
+ sizeof(timestamp_str),
+ "%" PRIu64 ".%03u ",
+ timestamp / 1000,
+ (uint)(timestamp % 1000));
+ BLI_dynstr_appendf(dynStr, "%s", timestamp_str);
+ }
+ if (sinfo->log_format & INFO_LOG_SHOW_LEVEL) {
+ if (log->severity <= CLG_SEVERITY_VERBOSE) {
+ BLI_dynstr_appendf(dynStr, "%s:%u ", clg_severity_as_text(log->severity), log->verbosity);
+ }
+ else {
+ BLI_dynstr_appendf(dynStr, "%s ", clg_severity_as_text(log->severity));
+ }
+ }
+ if (sinfo->log_format & INFO_LOG_SHOW_LOG_TYPE) {
+ BLI_dynstr_appendf(dynStr, "(%s) ", log->type->identifier);
+ }
+ if (sinfo->log_format & INFO_LOG_SHOW_FILE_LINE) {
+ const char *file_line = (sinfo->use_short_file_line) ? BLI_path_basename(log->file_line) :
+ log->file_line;
+ BLI_dynstr_appendf(dynStr, "%s ", file_line);
+ }
+ if (sinfo->log_format & INFO_LOG_SHOW_FUNCTION) {
+ BLI_dynstr_appendf(dynStr, "%s ", log->function);
+ }
+ if (sinfo->log_format & sinfo->use_log_message_new_line) {
+ BLI_dynstr_append(dynStr, "\n");
+ }
+
BLI_dynstr_append(dynStr, log->message);
char *cstr = BLI_dynstr_get_cstring(dynStr);
Report *report;
diff --git a/source/blender/editors/space_info/space_info.c b/source/blender/editors/space_info/space_info.c
index 0da915ca895..9fe278c0967 100644
--- a/source/blender/editors/space_info/space_info.c
+++ b/source/blender/editors/space_info/space_info.c
@@ -117,7 +117,7 @@ static void info_report_source_update(wmWindowManager *wm, SpaceInfo *sinfo)
}
case INFO_VIEW_CLOG: {
if (sinfo->active_reports == &wm->reports) {
- sinfo->active_reports = clog_to_report_list();
+ sinfo->active_reports = clog_to_report_list(sinfo);
}
break;
}
@@ -135,7 +135,7 @@ static void info_init(struct wmWindowManager *wm, ScrArea *area)
break;
}
case INFO_VIEW_CLOG: {
- sinfo->active_reports = clog_to_report_list();
+ sinfo->active_reports = clog_to_report_list(sinfo);
break;
}
}
More information about the Bf-blender-cvs
mailing list