wie die Überschrift dieses Themas erahnen lässt, geht es um das Logging-Modul. Allerdings geht es mir nicht darum, wie man das Modul installiert oder benutzt. Ich bin sozusagen über das Grundgerüst hinaus und möchte das Protokollieren "richtig" anwenden. Ich habe dazu versucht einige Projekte zu finden, nur um zu sehen, wie das Protokollieren praktiziert wird. Damit ihr wisst, wovon ich rede, habe ich mal eine Beispiel mitgebracht - es ist NICHT ausführbar. In diesem Schnipsel seht ihr, dass gleich zum Anfang der Funktion protokolliert wird, dass die Funktion aufgerufen wird. Ganz am Ende der Funktion wird protokolliert, dass die Funktion erfolgreich aufgerufen wurde. Und dazwischen sehen wir, dass die QLineEdit()-Objekte durch die setText()-Methode gefüllt wird. Und hier sehen wir, dass ich ebenfalls protokolliere - und das gleich zwei mal. Erst steht, dass die QLineEdit gefüllt wird, und danach, dass das Füllen erfolgreich war. Und das wiederhole ich solange, bis alle QLineEdits durch sind.
Meine Frage nun, ist das der beste Weg zu Protokollieren? Oder sollte man so wenig wie möglich protokollieren? Denn Wie wir anhand dieses Beispiels sehen, bläht sich der Quelltext richtig auf. Und wie ihr seht, habe ich die Inhalte noch gar nicht "mitgeschnitten". Auch das ist die nächste Frage. Alles inhaltlich mitschneiden? Aber dann wird es richtig heikle. Da sich mein Programm auch unter anderem mit der MySQL-Datenbank verbinden kann, frage ich mich dann, sollen die Login-Daten mitgeschnitten werden? Zum Beispiel wäre es ja wichtig, was der User alles eingegeben hat, wenn beim Login Probleme auftauchen. Oder sollten einem die Inhalte gar nicht interessieren?
Mir geht es im Kern darum, ein Gespür zu bekommen, was man protokolliert und was man beiseite lässt. Ich denke mal, dass ich in meinem Beispiel stark "überzogen" habe, richtig? Wahrscheinlich hätte es wohl gereicht, einmal zu erwähnen, dass nun an besagter Stelle die QLineEdit()-Objekte gefüllt werden.
Wie gesagt, ich habe versucht einige Projekte zu finden, um die Handschrift des Protokollierens zu erlernen. Um zu sehen, was alles mitgeschnitten wird, und was der Entwickler getrost raus lässt. Wenn ihr Projekte kennt, bei denen das Logging wunderbar gezeigt wird, dann immer her damit.
Damit kein Missverständnis entsteht. Mir geht es nicht ums "Spionieren". Mir geht es darum, wenn es Probleme gibt, dass ich das anhand der Log-Datei alles haargenau nachvollziehen kann.
Code: Alles auswählen
def load_and_show_settings(self):
'''
NOTICE:
=======
Once the user loads this setting window, we want to show him all his saved settings.
PARAMETERS:
===========
:return - Nothing is returned. The statement 'return'
terminates a function. That makes sure that the
function is definitely finished.
'''
self.custom_logger.info("="*10 +" START FUNCTION (" + inspect.stack()[0][
3] + ") - (" + FILE_NAME + ")" + "="*10)
self.custom_logger.info("Calling the function (" + inspect.stack()[0][3] + ") - (" + FILE_NAME + ")")
'''
In the setText()-method we access to a dictionary at first,
because the loaded settings are saved in the dictionary.
We use the key to get the value, that is saved behind
the key. With the obtained value we fill it in the QLineEdit()-object.
'''
self.custom_logger.info("Setting the text of lineEdit_url_update()-object - (" + __name__ + ")")
self.ui_setting.lineEdit_url_update.setText('Here your text')
self.custom_logger.info("The text of lineEdit_url_update()-object is set successfully - (" + __name__ + ")")
self.custom_logger.info("Setting the text of lineEdit_temp_folder()-object - (" + __name__ + ")")
self.ui_setting.lineEdit_temp_folder.setText('Here your text')
self.custom_logger.info("The text of lineEdit_temp_folder()-object is set successfully - (" + __name__ + ")")
self.custom_logger.info("Setting the text of lineEdit_server_version_address()-object - (" + __name__ + ")")
self.ui_setting.lineEdit_server_version_address.setText('Here your text')
self.custom_logger.info("The text of lineEdit_server_version_address()-object is set successfully - (" + __name__ + ")")
self.custom_logger.info("Setting the text of lineEdit_timeout_update()-object - (" + __name__ + ")")
self.ui_setting.lineEdit_timeout_update.setText('Here your text')
self.custom_logger.info("The text of lineEdit_timeout_update()-object is set successfully - (" + __name__ + ")")
self.custom_logger.info("The function (" + inspect.stack()[0][3] + ") is called successfully - (" + FILE_NAME + ")")
self.custom_logger.info("="*10 + " END FUNCTION (" + inspect.stack()[0][3] + ") - (" + FILE_NAME + ")" + "="*10)
return
