Die Problematik ist folgende: Ich lese beim Import des Packages `launchit` eine Datei aus, wo der Anwender bestimmte Dinge konfigurieren kann (Dateiname `launchit.conf` wird mittels des Moduls `launchit.settings` gelesen). Zu diesem Zeitpunkt steht das Flag `SHOULD_LOG` noch auf dem Standartwert `False`. Nachdem alle Module initialisiert wurden, besteht natürlich die Möglichkeit, das Flag zu ändern. Das hilft mir aber nicht, wenn ich sowas wie `Reading config file...` ausgeben möchte. Da denkt er halt noch, er soll *nicht* loggen. Und das ist ziemlich blöd, denn meine `bin/launchit` (eben das Executable) sieht halt so aus:
Code: Alles auswählen
import launchit
launchit.logger.SHOULD_LOG = True # zu spät
launchit.gui.main()
//edit: Damit auch klar wird, wie ich genau logge: Es steht z.B. in `launchit.settings.get_user_config()` folgendes:
Code: Alles auswählen
def get_user_config(filename='launchit.conf'):
"""
Return the parsed contents of a configuration file, which is named with
`filename`, as a dictionary, where the file is assumed to exist inside
the user's "standard" configuration directory. In case that no such file
could be found, an empty dictionary will be returned.
Note that a detailed explanation of the expected scheme inside the config
file can be found in `iter_config_entries()`, while the config file's path
is retrieved by `get_config_path()`.
"""
path = get_config_path(filename)
if not os.path.exists(path):
return {}
logger.info('Reading configuration from {0!r}'.format(path))
return get_config_entries(path)