Hallo zusammen,
für mein Programm möchte ich verschiedene Informationen in ein Log-File oder an der Console anzeigen. Zum Beispiel möchte während der Entwicklung des Programms alle Debug-Informationen anzeigen, jedoch wenn das Programm produktiv auf dem Server läuft, ist es ausreichend, wenn das System nur eine gewisse Anzahl an Infos und alle kritischen Fehler anzeigt bzw. in eine Datei schreibt.
Damit ich die Informationsflut beim Aufruf des Programms steuern kann bietet sich höchstwahrschleinlich der OptionParser an.
Jedoch fällt mir keine allgemein gute Lösung ein, wie ich über OptionParser verschiedene Level eintragen kann, so dass nur ein Wert gültig ist (Beispiel DebugLevel = 1 oder DebugLevel = 2).
Habt Dank für Eure kreativen Vorschläge
Gruß
Holger
Debug-Level als Optionen aufrufbar
@hose: Ich verstehe das Problem nicht? Solange man die Optionen nicht so verarbeitet, dass sie in einer Liste gesammelt werden, gilt doch immer die letzte Angabe einer Option, also ist das doch immer eine Zahl!?
Bei einer grösseren Anwendung würde ich wohl eine Konfigurationsdatei für's `logging` verwenden.
Bei einer grösseren Anwendung würde ich wohl eine Konfigurationsdatei für's `logging` verwenden.
Hi,
mit dem Modul "logging" kann ich mehrere Levels ansprechen. So weit so gut. Ich möchte beim Programmaufruf mit entsprechenden Optionen nutzen, welcher Level geloggt wird.
programm.py --DEBUG
programm.py --WARNING
Was passiert aber, wenn ich programm.py --DEBUG --WARNING aufrufe.
Natürlich kann so ein Aufruf auch wie folgt aussehen
programm.py [b]-d[/b]DEBUG
programm.py [b]-d[/b]WARNING
Aber auch hier habe ich das Problem, dass eine korrekte Schreibweise erforderlich ist.
Deshalb meine Frage, welche Art von Optionen für Python - OptionParser scheint die vernüftigste Art zu sein, nur ein Logging-Level-Option auszuwählen
Gruß
hose
mit dem Modul "logging" kann ich mehrere Levels ansprechen. So weit so gut. Ich möchte beim Programmaufruf mit entsprechenden Optionen nutzen, welcher Level geloggt wird.
programm.py --DEBUG
programm.py --WARNING
Was passiert aber, wenn ich programm.py --DEBUG --WARNING aufrufe.
Natürlich kann so ein Aufruf auch wie folgt aussehen
programm.py [b]-d[/b]DEBUG
programm.py [b]-d[/b]WARNING
Aber auch hier habe ich das Problem, dass eine korrekte Schreibweise erforderlich ist.
Deshalb meine Frage, welche Art von Optionen für Python - OptionParser scheint die vernüftigste Art zu sein, nur ein Logging-Level-Option auszuwählen
Gruß
hose
@hose: Dann musst Du halt für die verschiedenen Level *eine* Zielvariable angeben. Ich würde die ``-d LEVELNAME``-Variante bevorzugen und die Option halt auf die möglichen Namen einschränken. Wo ist das Problem?
Ich danke Euch beiden für die Unterstützung, auch wenn ich mich nicht so klar ausgedrückt habe. Es war mehr eine phylosophische Frage.
Ich werde den Vorschlag von Black Jack umsetzen und meine Erfahrung in späteren Projekten wird mir zeigen ob sich hier eine Verbesserung notwendig macht.
LG
hose
Ich werde den Vorschlag von Black Jack umsetzen und meine Erfahrung in späteren Projekten wird mir zeigen ob sich hier eine Verbesserung notwendig macht.
LG
hose