Changeset 11179 in ntrip for trunk/BNC/src/bncwindow.cpp


Ignore:
Timestamp:
Nov 6, 2026, 4:05:20 PM (33 hours ago)
Author:
stuerze
Message:

structuered logging is added and bug is fixed in SP3 file writing

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/bncwindow.cpp

    r11160 r11179  
    199199  // ---------------
    200200  _logFileLineEdit = new QLineEdit(settings.value("logFile").toString());
     201  _logFileStructuredLineEdit = new QLineEdit(settings.value("logFileStructured").toString());
     202  _logFormatStructuredComboBox = new QComboBox();
     203  _logFormatStructuredComboBox->setEditable(false);
     204  _logFormatStructuredComboBox->addItems(QString("json,logfmt").split(","));
     205  int kLogFmt = _logFormatStructuredComboBox->findText(settings.value("logFormatStructured").toString());
     206  if (kLogFmt != -1) {
     207    _logFormatStructuredComboBox->setCurrentIndex(kLogFmt);
     208  }
    201209  _rawOutFileLineEdit = new QLineEdit(settings.value("rawOutFile").toString());
    202210  _ephMountLineEdit = new QLineEdit(settings.value("ephMount").toString());
    … …  
    846854  gLayout->addWidget(new QLabel("Logfile (full path)"), 1, 0);
    847855  gLayout->addWidget(_logFileLineEdit, 1, 1, 1, 20);
    848   gLayout->addWidget(new QLabel("Append files"), 2, 0);
    849   gLayout->addWidget(_rnxAppendCheckBox, 2, 1);
    850   gLayout->addWidget(new QLabel("Reread configuration"), 3, 0);
    851   gLayout->addWidget(_onTheFlyComboBox, 3, 1);
    852   gLayout->addWidget(new QLabel("Auto start"), 4, 0);
    853   gLayout->addWidget(_autoStartCheckBox, 4, 1);
    854   gLayout->addWidget(new QLabel("Raw output file (full path)"), 5, 0);
    855   gLayout->addWidget(_rawOutFileLineEdit, 5, 1, 1, 20);
    856   gLayout->addWidget(new QLabel("Ephemeris streams"), 6, 0);
    857   gLayout->addWidget(_ephMountLineEdit, 6, 1, 1, 20);
    858   gLayout->addWidget(new QLabel(""), 7, 1);
    859   gLayout->setRowStretch(7, 999);
     856  gLayout->addWidget(new QLabel("Structured logfile"), 2, 0);
     857  gLayout->addWidget(_logFileStructuredLineEdit, 2, 1, 1, 15);
     858  gLayout->addWidget(new QLabel("  Format"), 2, 16, Qt::AlignRight);
     859  gLayout->addWidget(_logFormatStructuredComboBox, 2, 17, 1, 4);
     860  gLayout->addWidget(new QLabel("Append files"), 3, 0);
     861  gLayout->addWidget(_rnxAppendCheckBox, 3, 1);
     862  gLayout->addWidget(new QLabel("Reread configuration"), 4, 0);
     863  gLayout->addWidget(_onTheFlyComboBox, 4, 1);
     864  gLayout->addWidget(new QLabel("Auto start"), 5, 0);
     865  gLayout->addWidget(_autoStartCheckBox, 5, 1);
     866  gLayout->addWidget(new QLabel("Raw output file (full path)"), 6, 0);
     867  gLayout->addWidget(_rawOutFileLineEdit, 6, 1, 1, 20);
     868  gLayout->addWidget(new QLabel("Ephemeris streams"), 7, 0);
     869  gLayout->addWidget(_ephMountLineEdit, 7, 1, 1, 20);
     870  gLayout->addWidget(new QLabel(""), 8, 1);
     871  gLayout->setRowStretch(8, 999);
    860872
    861873  ggroup->setLayout(gLayout);
    … …  
    15681580  // ------------------
    15691581  _logFileLineEdit->setWhatsThis(tr("<p>Records of BNC's activities are shown in the 'Log' tab on the bottom of this window. They can be saved into a file when a valid path for that is specified in the 'Logfile (full path)' field.</p><p>The logfile name will automatically be extended by a string '_YYMMDD' carrying the current date. <i>[key: logFile]</i></p>"));
     1582  _logFileStructuredLineEdit->setWhatsThis(tr("<p>In addition to the logfile, BNC can write the same records as a structured logfile for log processing tools: one record per line, either JSON (JSON Lines) or logfmt (key=value pairs separated by blanks). Each record carries the time in UTC ('time', ISO 8601 with 'Z') and in GPS time ('gpst'), a level (info, warning, error), the component (e.g. stream, ppp), the event (e.g. ppp_position, stream_outage_begin), the station if known, the event's fields, the text of the classic logfile ('msg') and the record version ('v').</p><p>Messages without own event are written with component 'bnc' and event 'message'; their level is derived from keywords of the text. The logfile itself remains unchanged.</p><p>The file name will automatically be extended by a string '_YYMMDD' carrying the current date. Default is an empty option field, meaning that no structured logfile is written. <i>[key: logFileStructured]</i></p>"));
     1583  _logFormatStructuredComboBox->setWhatsThis(tr("<p>Select the format of the structured logfile: 'json' for one JSON object per line (JSON Lines), 'logfmt' for key=value pairs. Default is 'json'. <i>[key: logFormatStructured]</i></p>"));
    15701584  _rnxAppendCheckBox->setWhatsThis(tr("<p>When BNC is started, new files are created by default and file content already available under the same name will be overwritten. However, users might want to append already existing files following a regular restart or a crash of BNC or its platform.</p><p>Tick 'Append files' to continue with existing files and keep what has been recorded so far. <i>[key: rnxAppend]</i></p>"));
    15711585  _onTheFlyComboBox->setWhatsThis(tr("<p>When operating BNC online in 'no window' mode, some configuration parameters can be changed on-the-fly without interrupting the running process. For that BNC rereads parts of its configuration in pre-defined intervals. The default entry is 'no' that means the reread function is switched of. <p></p>Select '1 min', '5 min', '1 hour', or '1 day' to force BNC to reread its configuration every full minute, five minutes, hour, or day and let in between edited configuration options become effective on-the-fly without terminating uninvolved threads.</p><p>Note that when operating BNC in window mode, on-the-fly changeable configuration options become effective immediately via button 'Save & Reread Configuration'. <i>[key: onTheFlyInterval]</i></p>"));
    … …  
    18811895  delete _credentialsFileLineEdit;
    18821896  delete _logFileLineEdit;
     1897  delete _logFileStructuredLineEdit;
     1898  delete _logFormatStructuredComboBox;
    18831899  delete _rawOutFileLineEdit;
    18841900  delete _ephMountLineEdit;
    … …  
    24142430  // General
    24152431  settings.setValue("logFile", _logFileLineEdit->text());
     2432  settings.setValue("logFileStructured", _logFileStructuredLineEdit->text());
     2433  settings.setValue("logFormatStructured", _logFormatStructuredComboBox->currentText());
    24162434  settings.setValue("rnxAppend", _rnxAppendCheckBox->checkState());
    24172435  settings.setValue("onTheFlyInterval", _onTheFlyComboBox->currentText());
Note: See TracChangeset for help on using the changeset viewer.