From 8543d628b53dc3a42ba48c057924d66de06d97d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Sat, 16 Mar 2013 02:24:33 +0100 Subject: [PATCH] New serial log at ~/.octoprint/logs/serial.log Logs the same content as the terminal tab and is restricted to 2MB in size (hopefully). Closes #77 --- octoprint/server.py | 13 +++++++++++-- octoprint/util/comm.py | 5 +++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/octoprint/server.py b/octoprint/server.py index 9a342da..8ae920a 100644 --- a/octoprint/server.py +++ b/octoprint/server.py @@ -509,11 +509,20 @@ class Server(): "when": "D", "backupCount": "1", "filename": os.path.join(settings().getBaseFolder("logs"), "octoprint.log") + }, + "serialFile": { + "class": "logging.handlers.RotatingFileHandler", + "level": "DEBUG", + "formatter": "simple", + "maxBytes": 2 * 1024 * 1024, # let's limit the serial log to 2MB in size + "filename": os.path.join(settings().getBaseFolder("logs"), "serial.log") } }, "loggers": { - "octoprint.gcodefiles": { - "level": "DEBUG" + "SERIAL": { + "level": "DEBUG", + "handlers": ["serialFile"], + "propagate": False } }, "root": { diff --git a/octoprint/util/comm.py b/octoprint/util/comm.py index 00d63fe..4deb8bf 100644 --- a/octoprint/util/comm.py +++ b/octoprint/util/comm.py @@ -9,6 +9,7 @@ import re import traceback import threading import Queue as queue +import logging import serial @@ -143,6 +144,9 @@ class MachineCom(object): STATE_CLOSED_WITH_ERROR = 10 def __init__(self, port = None, baudrate = None, callbackObject = None): + self._logger = logging.getLogger(__name__) + self._serialLogger = logging.getLogger("SERIAL") + if port == None: port = settings().get(["serial", "port"]) if baudrate == None: @@ -422,6 +426,7 @@ class MachineCom(object): def _log(self, message): self._callback.mcLog(message) + self._serialLogger.debug(message) try: self._logQueue.put(message, False) except: