diff --git a/openid-connect-common/src/main/java/org/mitre/jwt/signer/service/impl/DefaultJwtSigningAndValidationService.java b/openid-connect-common/src/main/java/org/mitre/jwt/signer/service/impl/DefaultJwtSigningAndValidationService.java
index adb8f2610..21c78b776 100644
--- a/openid-connect-common/src/main/java/org/mitre/jwt/signer/service/impl/DefaultJwtSigningAndValidationService.java
+++ b/openid-connect-common/src/main/java/org/mitre/jwt/signer/service/impl/DefaultJwtSigningAndValidationService.java
@@ -214,8 +214,8 @@ public class DefaultJwtSigningAndValidationService implements JwtSigningAndValid
 		try {
 			jwt.sign(signer);
 		} catch (JOSEException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
+			
+			logger.error("Failed to sign JWT, error was: ", e);
 		}
 
 	}
@@ -229,8 +229,8 @@ public class DefaultJwtSigningAndValidationService implements JwtSigningAndValid
 					return true;
 				}
 			} catch (JOSEException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
+				
+				logger.error("Failed to validate signature, error was: ", e);
 			}
 		}
 		return false;
diff --git a/openid-connect-server/src/main/java/org/mitre/discovery/view/WebfingerView.java b/openid-connect-server/src/main/java/org/mitre/discovery/view/WebfingerView.java
index e121894c0..816eb7cbf 100644
--- a/openid-connect-server/src/main/java/org/mitre/discovery/view/WebfingerView.java
+++ b/openid-connect-server/src/main/java/org/mitre/discovery/view/WebfingerView.java
@@ -106,7 +106,6 @@ public class WebfingerView extends AbstractView {
 
 		} catch (IOException e) {
 
-			//TODO: Error Handling
 			logger.error("IOException in JsonEntityView.java: ", e);
 
 		}
diff --git a/openid-connect-server/src/main/java/org/mitre/openid/connect/ConnectAuthorizationRequestManager.java b/openid-connect-server/src/main/java/org/mitre/openid/connect/ConnectAuthorizationRequestManager.java
index 52d81dfb7..c1bd89a27 100644
--- a/openid-connect-server/src/main/java/org/mitre/openid/connect/ConnectAuthorizationRequestManager.java
+++ b/openid-connect-server/src/main/java/org/mitre/openid/connect/ConnectAuthorizationRequestManager.java
@@ -231,8 +231,8 @@ public class ConnectAuthorizationRequestManager implements AuthorizationRequestM
 			}
 
 		} catch (ParseException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
+			
+			logger.error("Failed to process request object, error was: ", e);
 		}
 		return parameters;
 	}
diff --git a/openid-connect-server/src/main/java/org/mitre/openid/connect/assertion/JwtBearerAuthenticationProvider.java b/openid-connect-server/src/main/java/org/mitre/openid/connect/assertion/JwtBearerAuthenticationProvider.java
index c1b31db6b..cc0fb8bdb 100644
--- a/openid-connect-server/src/main/java/org/mitre/openid/connect/assertion/JwtBearerAuthenticationProvider.java
+++ b/openid-connect-server/src/main/java/org/mitre/openid/connect/assertion/JwtBearerAuthenticationProvider.java
@@ -136,7 +136,9 @@ public class JwtBearerAuthenticationProvider implements AuthenticationProvider {
 		} catch (InvalidClientException e) {
 			throw new UsernameNotFoundException("Could not find client: " + jwtAuth.getClientId());
 		} catch (ParseException e) {
-			// TODO Auto-generated catch block
+			
+			logger.error("Failure during authentication, error was: ", e);
+			
 			throw new AuthenticationServiceException("Invalid JWT format");
 		}
 	}
diff --git a/openid-connect-server/src/main/java/org/mitre/openid/connect/token/ConnectTokenEnhancer.java b/openid-connect-server/src/main/java/org/mitre/openid/connect/token/ConnectTokenEnhancer.java
index c8f7f8f8e..2dc8e8c9e 100644
--- a/openid-connect-server/src/main/java/org/mitre/openid/connect/token/ConnectTokenEnhancer.java
+++ b/openid-connect-server/src/main/java/org/mitre/openid/connect/token/ConnectTokenEnhancer.java
@@ -174,11 +174,12 @@ public class ConnectTokenEnhancer implements TokenEnhancer {
 						idClaims.setClaim("at_hash", at_hash);
 
 					} catch (NoSuchAlgorithmException e) {
-						// TODO Auto-generated catch block
-						e.printStackTrace();
+						
+						logger.error("No such algorithm error: ", e);
+						
 					} catch (InvalidKeyException e) {
-						// TODO Auto-generated catch block
-						e.printStackTrace();
+						
+						logger.error("Invalid key error: ", e);
 					}
 
 				}
diff --git a/openid-connect-server/src/main/java/org/mitre/openid/connect/view/ClientInformationResponseView.java b/openid-connect-server/src/main/java/org/mitre/openid/connect/view/ClientInformationResponseView.java
index 61975af36..549ed8330 100644
--- a/openid-connect-server/src/main/java/org/mitre/openid/connect/view/ClientInformationResponseView.java
+++ b/openid-connect-server/src/main/java/org/mitre/openid/connect/view/ClientInformationResponseView.java
@@ -26,10 +26,10 @@ import java.util.Map;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import org.mitre.oauth2.model.ClientDetailsEntity;
-import org.mitre.oauth2.model.OAuth2AccessTokenEntity;
 import org.mitre.oauth2.model.RegisteredClient;
 import org.mitre.openid.connect.ClientDetailsEntityJsonProcessor;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.http.HttpStatus;
 import org.springframework.stereotype.Component;
 import org.springframework.web.servlet.view.AbstractView;
@@ -49,6 +49,8 @@ import com.google.gson.JsonObject;
 @Component("clientInformationResponseView")
 public class ClientInformationResponseView extends AbstractView {
 
+	private static Logger logger = LoggerFactory.getLogger(ClientInformationResponseView.class);
+	
 	// note that this won't serialize nulls by default
 	private Gson gson = new Gson();
 
@@ -75,11 +77,13 @@ public class ClientInformationResponseView extends AbstractView {
 			Writer out = response.getWriter();
 			gson.toJson(o, out);
 		} catch (JsonIOException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
+			
+			logger.error("JsonIOException in ClientInformationResponseView.java: ", e);
+			
 		} catch (IOException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
+			
+			logger.error("IOException in ClientInformationResponseView.java: ", e);
+			
 		}
 
 	}
diff --git a/openid-connect-server/src/main/java/org/mitre/openid/connect/view/JsonEntityView.java b/openid-connect-server/src/main/java/org/mitre/openid/connect/view/JsonEntityView.java
index aaf46e4b0..84652fd6f 100644
--- a/openid-connect-server/src/main/java/org/mitre/openid/connect/view/JsonEntityView.java
+++ b/openid-connect-server/src/main/java/org/mitre/openid/connect/view/JsonEntityView.java
@@ -91,7 +91,6 @@ public class JsonEntityView extends AbstractView {
 
 		} catch (IOException e) {
 
-			//TODO: Error Handling
 			logger.error("IOException in JsonEntityView.java: ", e);
 
 		}
diff --git a/openid-connect-server/src/main/java/org/mitre/openid/connect/view/JsonErrorView.java b/openid-connect-server/src/main/java/org/mitre/openid/connect/view/JsonErrorView.java
index 17ee198d3..c0446ca53 100644
--- a/openid-connect-server/src/main/java/org/mitre/openid/connect/view/JsonErrorView.java
+++ b/openid-connect-server/src/main/java/org/mitre/openid/connect/view/JsonErrorView.java
@@ -92,7 +92,6 @@ public class JsonErrorView extends AbstractView {
 
 		} catch (IOException e) {
 
-			//TODO: Error Handling
 			logger.error("IOException in JsonErrorView.java: ", e);
 
 		}
diff --git a/openid-connect-server/src/main/java/org/mitre/openid/connect/view/UserInfoView.java b/openid-connect-server/src/main/java/org/mitre/openid/connect/view/UserInfoView.java
index 1c0ffa22e..960d47f59 100644
--- a/openid-connect-server/src/main/java/org/mitre/openid/connect/view/UserInfoView.java
+++ b/openid-connect-server/src/main/java/org/mitre/openid/connect/view/UserInfoView.java
@@ -102,14 +102,11 @@ public class UserInfoView extends AbstractView {
 
 					gson.toJson(toJsonFromRequestObj(userInfo, scope, obj), out);
 				} catch (JsonSyntaxException e) {
-					// TODO Auto-generated catch block
-					e.printStackTrace();
+					logger.error("JsonSyntaxException in UserInfoView.java: ", e);
 				} catch (JsonIOException e) {
-					// TODO Auto-generated catch block
-					e.printStackTrace();
+					logger.error("JsonIOException in UserInfoView.java: ", e);
 				} catch (ParseException e) {
-					// TODO Auto-generated catch block
-					e.printStackTrace();
+					logger.error("ParseException in UserInfoView.java: ", e);
 				}
 
 			} else {
@@ -120,7 +117,6 @@ public class UserInfoView extends AbstractView {
 
 		} catch (IOException e) {
 			
-			//TODO: Error Handling
 			logger.error("IOException in UserInfoView.java: ", e);
 
 		}
@@ -223,20 +219,15 @@ public class UserInfoView extends AbstractView {
 					value = (String) getter.invoke(ui);
 					obj.addProperty(claimName, value);
 				} catch (SecurityException e) {
-					// TODO Auto-generated catch block
-					e.printStackTrace();
+					logger.error("SecurityException in UserInfoView.java: ", e);
 				} catch (NoSuchMethodException e) {
-					// TODO Auto-generated catch block
-					e.printStackTrace();
+					logger.error("NoSuchMethodException in UserInfoView.java: ", e);
 				} catch (IllegalArgumentException e) {
-					// TODO Auto-generated catch block
-					e.printStackTrace();
+					logger.error("IllegalArgumentException in UserInfoView.java: ", e);
 				} catch (IllegalAccessException e) {
-					// TODO Auto-generated catch block
-					e.printStackTrace();
+					logger.error("IllegalAccessException in UserInfoView.java: ", e);
 				} catch (InvocationTargetException e) {
-					// TODO Auto-generated catch block
-					e.printStackTrace();
+					logger.error("InvocationTargetException in UserInfoView.java: ", e);
 				}
 			}
 		}