Stefan Schwarzer wrote:
On 2014-12-21 12:37, Stefan Schwarzer wrote:
An sich würde ich aber gar nicht `kwargs` modifizieren, sondern den Wert herausziehen:
min_level = kwargs.pop('min_level', 1)
Das modifiziert `kwargs' ebenfalls: [...]
sorry, hier habe ich mir in der Tat selbst widersprochen.
Als ich das schrieb, hatte ich im Sinn, `min_level` als Keyword-Argument mit Default zu verwenden und gar nicht in `kwargs` unterzubringen, aber das geht in Kombination mit `**kwargs` gerade nicht.
Die Funktion sieht jetzt so aus: def dmsg (*args, **kwargs): if not kwargs.get('file'): kwargs['file'] = stderr min_level = kwargs.pop('min_level', 1) if debug_level >= min_level: print(*args, **kwargs) Soweit ich sehe, funktioniert das, dass heisst man kann überall dort print(…) durch dmsg(…) ersetzen, wo man auf stderr schreiben und dies abhängig vom Debug-Level machen will. Bei weiterer Recherche könnte ich wohl auch <https://docs.python.org/3/library/logging.html> entsprechend zurechtbiegen, statt aus Obigem meine eigene Logging-Klasse zu bauen. Zwischen logging.NOTSET (0) und logging.DEBUG (10) sowie zwischen logging.DEBUG und logging.INFO (20) wären ja noch Werte frei. Was meint ihr? -- PointedEars Twitter: @PointedEars2 Please do not cc me. / Bitte keine Kopien per E-Mail.
participants (1)
-
Thomas 'PointedEars' Lahn