summaryrefslogtreecommitdiff
path: root/datalogger/logger.go
diff options
context:
space:
mode:
Diffstat (limited to 'datalogger/logger.go')
-rw-r--r--datalogger/logger.go12
1 files changed, 11 insertions, 1 deletions
diff --git a/datalogger/logger.go b/datalogger/logger.go
index 4c3b080..249a059 100644
--- a/datalogger/logger.go
+++ b/datalogger/logger.go
@@ -108,17 +108,27 @@ func (logger *CSVDataLogger[T]) Export() bool {
return false
}
+ toOmit := make([]int, 0)
visibleFields := reflect.VisibleFields(reflect.TypeOf((*T)(nil)).Elem())
- for _, v := range visibleFields {
+ for i, v := range visibleFields {
description, success := v.Tag.Lookup("Description")
columnName := fmt.Sprintf("%s", v.Name)
if success {
+ if description == "[OMIT]" {
+ toOmit = append(toOmit, i)
+ continue
+ }
columnName = fmt.Sprintf("%s", description)
}
logger.destination.Write([]byte(fmt.Sprintf("%s, ", columnName)))
}
logger.destination.Write([]byte("\n"))
+ // Remove the Omitted fields
+ for _, i := range toOmit {
+ visibleFields = append(visibleFields[:i], visibleFields[i+1:]...)
+ }
+
for _, d := range logger.data {
for _, v := range visibleFields {
data := reflect.ValueOf(d)