# Development Utils # Colored logger #### What? Bunch of patches for python logging: - add colors - change `stderr` stream references to `stdout`. Weirdly enough `stderr` is the default logging stream for everything, most configurations (including default Django) don't care to change it. #### Why? Because you don't want to see everything in red in your IDE. #### Safe? Quite safe. The downloaded file is only executed if its SHA256 matches the expected value. Patched logging also behaves very stable, time tested. #### How? Add the following piece of code: - in django - to your `settings/dev.py` (or wherever your dev settings are) - in other projects - anywhere where it will be executed somewhat early (like top of the file) ```python try: # Colored logger CaaS. Auto downloaded and verified. import os import hashlib from urllib import request cache, url = "/tmp/_colored_logger.py", "https://lab.it.hs-hannover.de/lukyanch/pydevutils/raw/fa4af6555a8eb996e1be158ca12691de9b33ba45/colored_logger.py" code = bool(os.path.exists(cache) or request.urlretrieve(url, cache)) and open(cache, "r").read() assert hashlib.sha256(code.encode()).hexdigest() == "d4d261a40f95733f9fb184fc4ccb55d007b880cb62c8d6a06824d43eeb1391ac", "unrecognized content in " + cache exec(code) except Exception as e: print("No colored logger: {e.__class__.__name__}: {e}".format(e=e)) ```