Allow enabling of serial logging at runtime
parent
f14acf8ba7
commit
44f1f01001
|
@ -517,7 +517,8 @@ def getSettings():
|
||||||
"baudrate": connectionOptions["baudratePreference"],
|
"baudrate": connectionOptions["baudratePreference"],
|
||||||
"portOptions": connectionOptions["ports"],
|
"portOptions": connectionOptions["ports"],
|
||||||
"baudrateOptions": connectionOptions["baudrates"],
|
"baudrateOptions": connectionOptions["baudrates"],
|
||||||
"autoconnect": s.getBoolean(["serial", "autoconnect"])
|
"autoconnect": s.getBoolean(["serial", "autoconnect"]),
|
||||||
|
"log": s.getBoolean(["serial", "log"])
|
||||||
},
|
},
|
||||||
"folder": {
|
"folder": {
|
||||||
"uploads": s.getBaseFolder("uploads"),
|
"uploads": s.getBaseFolder("uploads"),
|
||||||
|
@ -576,6 +577,17 @@ def setSettings():
|
||||||
if "port" in data["serial"].keys(): s.set(["serial", "port"], data["serial"]["port"])
|
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"])
|
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 "folder" in data.keys():
|
||||||
if "uploads" in data["folder"].keys(): s.setBaseFolder("uploads", data["folder"]["uploads"])
|
if "uploads" in data["folder"].keys(): s.setBaseFolder("uploads", data["folder"]["uploads"])
|
||||||
if "timelapse" in data["folder"].keys(): s.setBaseFolder("timelapse", data["folder"]["timelapse"])
|
if "timelapse" in data["folder"].keys(): s.setBaseFolder("timelapse", data["folder"]["timelapse"])
|
||||||
|
@ -901,7 +913,12 @@ class Server():
|
||||||
#},
|
#},
|
||||||
#"octoprint.events": {
|
#"octoprint.events": {
|
||||||
# "level": "DEBUG"
|
# "level": "DEBUG"
|
||||||
#}
|
#},
|
||||||
|
"SERIAL": {
|
||||||
|
"level": "CRITICAL",
|
||||||
|
"handlers": ["serialFile"],
|
||||||
|
"propagate": False
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"level": "INFO",
|
"level": "INFO",
|
||||||
|
@ -910,11 +927,7 @@ class Server():
|
||||||
}
|
}
|
||||||
|
|
||||||
if debug:
|
if debug:
|
||||||
config["loggers"]["SERIAL"] = {
|
config["loggers"]["root"]["level"] = "DEBUG"
|
||||||
"level": "DEBUG",
|
|
||||||
"handlers": ["serialFile"],
|
|
||||||
"propagate": False
|
|
||||||
}
|
|
||||||
|
|
||||||
logging.config.dictConfig(config)
|
logging.config.dictConfig(config)
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,8 @@ default_settings = {
|
||||||
"serial": {
|
"serial": {
|
||||||
"port": None,
|
"port": None,
|
||||||
"baudrate": None,
|
"baudrate": None,
|
||||||
"autoconnect": False
|
"autoconnect": False,
|
||||||
|
"log": False
|
||||||
},
|
},
|
||||||
"server": {
|
"server": {
|
||||||
"host": "0.0.0.0",
|
"host": "0.0.0.0",
|
||||||
|
|
|
@ -1363,6 +1363,7 @@ function SettingsViewModel(loginStateViewModel, usersViewModel) {
|
||||||
self.serial_portOptions = ko.observableArray([]);
|
self.serial_portOptions = ko.observableArray([]);
|
||||||
self.serial_baudrateOptions = ko.observableArray([]);
|
self.serial_baudrateOptions = ko.observableArray([]);
|
||||||
self.serial_autoconnect = ko.observable(undefined);
|
self.serial_autoconnect = ko.observable(undefined);
|
||||||
|
self.serial_log = ko.observable(undefined);
|
||||||
|
|
||||||
self.folder_uploads = ko.observable(undefined);
|
self.folder_uploads = ko.observable(undefined);
|
||||||
self.folder_timelapse = 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_portOptions(response.serial.portOptions);
|
||||||
self.serial_baudrateOptions(response.serial.baudrateOptions);
|
self.serial_baudrateOptions(response.serial.baudrateOptions);
|
||||||
self.serial_autoconnect(response.serial.autoconnect);
|
self.serial_autoconnect(response.serial.autoconnect);
|
||||||
|
self.serial_log(response.serial.log);
|
||||||
|
|
||||||
self.folder_uploads(response.folder.uploads);
|
self.folder_uploads(response.folder.uploads);
|
||||||
self.folder_timelapse(response.folder.timelapse);
|
self.folder_timelapse(response.folder.timelapse);
|
||||||
|
@ -1465,7 +1467,8 @@ function SettingsViewModel(loginStateViewModel, usersViewModel) {
|
||||||
"serial": {
|
"serial": {
|
||||||
"port": self.serial_port(),
|
"port": self.serial_port(),
|
||||||
"baudrate": self.serial_baudrate(),
|
"baudrate": self.serial_baudrate(),
|
||||||
"autoconnect": self.serial_autoconnect()
|
"autoconnect": self.serial_autoconnect(),
|
||||||
|
"log": self.serial_log()
|
||||||
},
|
},
|
||||||
"folder": {
|
"folder": {
|
||||||
"uploads": self.folder_uploads(),
|
"uploads": self.folder_uploads(),
|
||||||
|
|
|
@ -39,6 +39,13 @@
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</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>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="tab-pane" id="settings_printerParameters">
|
<div class="tab-pane" id="settings_printerParameters">
|
||||||
|
|
Loading…
Reference in New Issue