Last active
October 1, 2022 20:43
-
-
Save madsc13ntist/c0feeaf3cc8963ab81724191520e827f to your computer and use it in GitHub Desktop.
just an example of how to setup a logging object called "logger" to use in your scripts.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import logging | |
| # '''''''''' Setup More Robust Logging '''''''''''''''''''' | |
| # Create a generic logger object | |
| logger = logging.getLogger(__name__) | |
| ########### set logging level. | |
| #logger.setLevel(logging.DEBUG) | |
| logger.setLevel(logging.INFO) | |
| #logger.setLevel(logging.WARNING) | |
| ########### define a formatter (or two). | |
| formatter_short = logging.Formatter('[%(levelname)s] %(funcName)s: %(message)s') | |
| formatter_long = logging.Formatter('%(asctime)s:%(levelname)s:%(filename)s:%(funcName)s:%(message)s') | |
| ########### Create a file handler for logging to a file | |
| log_file_path = os.path.abspath(__file__).replace('.py', '.log') | |
| fh = logging.FileHandler(log_file_path, mode="w") | |
| fh.setFormatter(formatter_long) | |
| fh.setLevel(logging.DEBUG) | |
| logger.addHandler(fh) | |
| ########### Make a shream handler (for what is printed to the screen) | |
| stream_handler = logging.StreamHandler() | |
| stream_handler.setFormatter(formatter_short) | |
| logger.addHandler(stream_handler) | |
| ########### Extra Credit: Writing to the windows event log too! | |
| from logging.handlers import NTEventLogHandler | |
| #nt_event_handler = NTEventLogHandler(os.path.basename(__file__), logtype='Application') | |
| #nt_event_handler.setFormatter(formatter_long) | |
| #nt_event_handler.setLevel(logging.WARNING) | |
| #logger.addHandler(nt_event_handler) | |
| ############# Now write some logs! | |
| some_var = 42 | |
| logger.debug(f"note some variable values or leave this here for print debugging. some_var = {some_var}") | |
| logger.info("this is informational, good to know, not a big deal.") | |
| logger.warning(".... oh wait... i don't think that should be like that....") | |
| logger.error("OH SHIT OH SHIT OH SHIT OH SHIT") | |
| logger.exception("sigh.... i want to log the entire crashlog paragraph to my log.... i guess i'll start fixing this...") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment