Allow enabling of serial logging at runtime
parent
f14acf8ba7
commit
44f1f01001
|
@ -517,7 +517,8 @@ def getSettings():
|
|||
"baudrate": connectionOptions["baudratePreference"],
|
||||
"portOptions": connectionOptions["ports"],
|
||||
"baudrateOptions": connectionOptions["baudrates"],
|
||||
"autoconnect": s.getBoolean(["serial", "autoconnect"])
|
||||
"autoconnect": s.getBoolean(["serial", "autoconnect"]),
|
||||
"log": s.getBoolean(["serial", "log"])
|
||||
},
|
||||
"folder": {
|
||||
"uploads": s.getBaseFolder("uploads"),
|
||||
|
@ -576,6 +577,17 @@ def setSettings():
|
|||
if "port" in data["serial"].keys(): s.set(["serial", "port"], data["serial"]["port"])
|
||||
if "baudrate" in data["serial"].keys(): s.setInt(["serial", "baudrate"], data["serial"]["baudrate"])
|
||||
|
||||
oldLog = s.getBoolean(["serial", "log"])
|
||||
if "log" in data["serial"].keys(): s.setBoolean(["serial", "log"], data["serial"]["log"])
|
||||
if oldLog and not s.getBoolean(["serial", "log"]):
|
||||
# disable debug logging to serial.log
|
||||
logging.getLogger("SERIAL").debug("Disabling serial logging")
|
||||
logging.getLogger("SERIAL").setLevel(logging.CRITICAL)
|
||||
elif not oldLog and s.getBoolean(["serial", "log"]):
|
||||
# enable debug logging to serial.log
|
||||
logging.getLogger("SERIAL").setLevel(logging.DEBUG)
|
||||
logging.getLogger("SERIAL").debug("Enabling serial logging")
|
||||
|
||||
if "folder" in data.keys():
|
||||
if "uploads" in data["folder"].keys(): s.setBaseFolder("uploads", data["folder"]["uploads"])
|
||||
if "timelapse" in data["folder"].keys(): s.setBaseFolder("timelapse", data["folder"]["timelapse"])
|
||||
|
@ -901,7 +913,12 @@ class Server():
|
|||
#},
|
||||
#"octoprint.events": {
|
||||
# "level": "DEBUG"
|
||||
#}
|
||||
#},
|
||||
"SERIAL": {
|
||||
"level": "CRITICAL",
|
||||
"handlers": ["serialFile"],
|
||||
"propagate": False
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"level": "INFO",
|
||||
|
@ -910,11 +927,7 @@ class Server():
|
|||
}
|
||||
|
||||
if debug:
|
||||
config["loggers"]["SERIAL"] = {
|
||||
"level": "DEBUG",
|
||||
"handlers": ["serialFile"],
|
||||
"propagate": False
|
||||
}
|
||||
config["loggers"]["root"]["level"] = "DEBUG"
|
||||
|
||||
logging.config.dictConfig(config)
|
||||
|
||||
|
|
|
@ -26,7 +26,8 @@ default_settings = {
|
|||
"serial": {
|
||||
"port": None,
|
||||
"baudrate": None,
|
||||
"autoconnect": False
|
||||
"autoconnect": False,
|
||||
"log": False
|
||||
},
|
||||
"server": {
|
||||
"host": "0.0.0.0",
|
||||
|
|
|
@ -1363,6 +1363,7 @@ function SettingsViewModel(loginStateViewModel, usersViewModel) {
|
|||
self.serial_portOptions = ko.observableArray([]);
|
||||
self.serial_baudrateOptions = ko.observableArray([]);
|
||||
self.serial_autoconnect = ko.observable(undefined);
|
||||
self.serial_log = ko.observable(undefined);
|
||||
|
||||
self.folder_uploads = ko.observable(undefined);
|
||||
self.folder_timelapse = ko.observable(undefined);
|
||||
|
@ -1420,6 +1421,7 @@ function SettingsViewModel(loginStateViewModel, usersViewModel) {
|
|||
self.serial_portOptions(response.serial.portOptions);
|
||||
self.serial_baudrateOptions(response.serial.baudrateOptions);
|
||||
self.serial_autoconnect(response.serial.autoconnect);
|
||||
self.serial_log(response.serial.log);
|
||||
|
||||
self.folder_uploads(response.folder.uploads);
|
||||
self.folder_timelapse(response.folder.timelapse);
|
||||
|
@ -1465,7 +1467,8 @@ function SettingsViewModel(loginStateViewModel, usersViewModel) {
|
|||
"serial": {
|
||||
"port": self.serial_port(),
|
||||
"baudrate": self.serial_baudrate(),
|
||||
"autoconnect": self.serial_autoconnect()
|
||||
"autoconnect": self.serial_autoconnect(),
|
||||
"log": self.serial_log()
|
||||
},
|
||||
"folder": {
|
||||
"uploads": self.folder_uploads(),
|
||||
|
|
|
@ -39,6 +39,13 @@
|
|||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" data-bind="checked: serial_log" id="settings-serialLog"> Log communication to serial.log (might negatively impact performance) <span class="label label-important">Warning</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="tab-pane" id="settings_printerParameters">
|
||||
|
|
Loading…
Reference in New Issue