in plc4go/tools/plc4xpcapanalyzer/ui/actions.go [39:90]
func InitSubsystem() {
logLevel := zerolog.InfoLevel
if configuredLevel := config.LogLevel; configuredLevel != "" {
if parsedLevel, err := zerolog.ParseLevel(configuredLevel); err != nil {
panic(err)
} else {
logLevel = parsedLevel
}
}
driverManager = plc4go.NewPlcDriverManager()
log.Logger = log.
//// Enable below if you want to see the filenames
//With().Caller().Logger().
Output(zerolog.NewConsoleWriter(
func(w *zerolog.ConsoleWriter) {
w.Out = tview.ANSIWriter(consoleOutput)
},
func(w *zerolog.ConsoleWriter) {
w.FormatFieldValue = func(i interface{}) string {
if aString, ok := i.(string); ok && strings.Contains(aString, "\\n") {
return fmt.Sprintf("\x1b[%dm%v\x1b[0m", 31, "see below")
}
return fmt.Sprintf("%s", i)
}
w.FormatExtra = func(m map[string]interface{}, buffer *bytes.Buffer) error {
for key, i := range m {
if aString, ok := i.(string); ok && strings.Contains(aString, "\n") {
buffer.WriteString("\n")
buffer.WriteString(fmt.Sprintf("\x1b[%dm%v\x1b[0m", 32, "field "+key))
buffer.WriteString(":\n" + aString)
}
}
return nil
}
},
)).
Level(logLevel)
// We offset the commands executed with the last commands
commandsExecuted = len(config.History.Last10Commands)
outputCommandHistory()
for _, driver := range config.AutoRegisterDrivers {
log.Info().Str("driver", driver).Msg("Auto register driver")
if err := validateDriverParam(driver); err != nil {
log.Err(err).Msg("Invalid configuration")
continue
}
_ = registerDriver(driver)
}
}