diff --git a/resources/logging.py b/resources/logging.py
index 3dfe0a7e6cb41afe717441f8c16861c07920eb6f..e0b2ac5cc3acea01ac3851357c228964a8f13e23 100644
--- a/resources/logging.py
+++ b/resources/logging.py
@@ -14,8 +14,9 @@ Note: Standard log priority is "NOTSET" > "DEBUG" > "INFO" > "WARNING" > "ERROR"
 import logging.config, os
 
 
-# Statement to help library determine how to run logging.
+# Statements to help library determine how to run logging.
 graph_library_logger = True
+first_logging_call = True
 
 
 def get_logger(caller):
@@ -25,8 +26,9 @@ def get_logger(caller):
     :param caller: __name__ attribute of caller.
     :return: Instance of logger, associated with caller's __name__.
     """
-    # Initialize logger.
-    _initialize_logger_settings()
+    # Initialize logger. We should only have to initialize it once per project.
+    if first_logging_call:
+        _initialize_logger_settings()
 
     # Return logger instance, using passed name.
     return logging.getLogger(caller)
@@ -49,9 +51,14 @@ def _initialize_logger_settings(debug=False):
     # Load dictionary of settings into logger.
     logging.config.dictConfig(_create_logging_dict(log_dir))
 
+    # Now that logging has been initialized once, we don't need to call this function again for the duration of program
+    # runtime. Set "first_logging_call" variable accordingly.
+    global first_logging_call
+    first_logging_call = False
+
     # Optionally test that logging is working as expected.
     if debug:
-        logger = get_logger(__name__)
+        logger = logging.getLogger(__name__)
         logger.info('Logging initialized.')
         logger.debug('Logging directory: {0}'.format(log_dir))