Moin,
ich versuche gerade für PlatformIO ein Monitor-Filter umzuschreiben, damit von AUnit die Ausgabe direkt in ein File geleitet wird. Nur bin ich irgendwie zu doof dazu:
import io
import os.path
from datetime import datetime
from platformio.device.monitor.filters.base import DeviceMonitorFilterBase
class LogToFile(DeviceMonitorFilterBase):
NAME = "aunit"
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self._log_fp = None
def __call__(self):
log_file_name = "platformio-aunit-filter.log"
print("--- Logging an output to %s" % os.path.abspath(log_file_name))
# pylint: disable=consider-using-with
self._log_fp = io.open(log_file_name, "w", encoding="utf-8")
return self
def __del__(self):
if self._log_fp:
self._log_fp.close()
def rx(self, text):
if text.startswith('Test') == True:
self._log_fp.write(text)
self._log_fp.flush()
return text
die Änderung von meiner Seite betrift nur die Funktion rx(). Wenn der Text/Zeile mit „Test“ beginnt, dann soll die gesamte Text/Zeile in das entsprechende Logfile geschrieben werden. Aber er schreibt nichts ins Logfile.
Wäre schön wenn mir jemand verraten könnte wo mein Fehler liegt.
danke, mogel