[java-identity-provider] branch master updated: IDP-1319 - Reduce redundant stack traces in log

Scott Cantor cantor.2 at osu.edu
Thu Dec 19 20:36:06 EST 2019


This is an automated email from the git hooks/post-receive script.

scantor pushed a commit to branch master
in repository java-identity-provider.

View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=bdbf2650d89812c0201ec52b18011cf1908928b3

The following commit(s) were added to refs/heads/master by this push:
       new  bdbf265   IDP-1319 - Reduce redundant stack traces in log
bdbf265 is described below

commit bdbf2650d89812c0201ec52b18011cf1908928b3
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Thu Dec 19 20:35:58 2019 -0500

    IDP-1319 - Reduce redundant stack traces in log
    
    https://issues.shibboleth.net/jira/browse/IDP-1319
---
 .../policyrule/filtercontext/impl/PredicatePolicyRule.java   |  2 +-
 .../shibboleth/idp/attribute/impl/JDBCPairwiseIdStore.java   |  2 +-
 .../dc/ldap/TemplatedExecutableSearchFilterBuilder.java      |  2 +-
 .../dc/rdbms/TemplatedExecutableStatementBuilder.java        |  6 +++---
 .../resolver/ad/impl/TemplateAttributeDefinition.java        |  2 +-
 .../resolver/dc/http/impl/TemplatedBodyBuilder.java          |  2 +-
 .../attribute/resolver/dc/http/impl/TemplatedURLBuilder.java |  2 +-
 .../spring/ad/impl/RegexSplitAttributeDefinitionParser.java  |  4 ++--
 .../shibboleth/idp/authn/spnego/impl/GSSContextAcceptor.java |  8 +++-----
 .../idp/consent/storage/impl/ConsentSerializer.java          |  2 +-
 .../shibboleth/idp/installer/InstallerPropertiesImpl.java    |  2 +-
 .../java/net/shibboleth/idp/installer/InstallerSupport.java  |  6 +++---
 .../main/java/net/shibboleth/idp/installer/V4Install.java    |  2 +-
 .../messaging/impl/SelectRelyingPartyConfiguration.java      |  4 ++--
 .../spring/factory/BasicResourceCredentialFactoryBean.java   | 11 +++++------
 .../spring/factory/BasicX509CredentialFactoryBean.java       |  9 +++++----
 .../profile/spring/factory/StaticExplicitKeyFactoryBean.java |  8 ++++----
 .../idp/profile/spring/factory/StaticPKIXFactoryBean.java    |  4 ++--
 .../spring/factory/X509InlineCredentialFactoryBean.java      |  6 +++---
 .../impl/PKIXInlineValidationInfoFactoryBean.java            |  4 ++--
 .../impl/PKIXResourceValidationInfoFactoryBean.java          |  5 +++--
 .../spring/resource/impl/HTTPResourceFactoryBean.java        | 12 ++++++------
 .../idp/saml/nameid/impl/TransientIdParameters.java          |  5 ++---
 .../delegation/messaging/impl/LibertyHTTPSOAP11Decoder.java  |  4 ++--
 .../impl/MetadataPKIXValidationInformationResolver.java      |  2 +-
 .../shibboleth/idp/session/AbstractSPSessionSerializer.java  |  4 ++--
 .../shibboleth/idp/session/impl/StorageBackedIdPSession.java | 11 ++++++-----
 .../idp/session/impl/StorageBackedIdPSessionSerializer.java  |  4 ++--
 .../idp/session/impl/StorageBackedSessionManager.java        |  2 +-
 .../shibboleth/idp/ui/taglib/OrganizationDisplayNameTag.java |  2 +-
 .../net/shibboleth/idp/ui/taglib/OrganizationNameTag.java    |  2 +-
 .../net/shibboleth/idp/ui/taglib/OrganizationURLTag.java     |  2 +-
 .../java/net/shibboleth/idp/ui/taglib/ServiceContactTag.java |  2 +-
 .../net/shibboleth/idp/ui/taglib/ServiceDescriptionTag.java  |  2 +-
 .../shibboleth/idp/ui/taglib/ServiceInformationURLTag.java   |  2 +-
 .../java/net/shibboleth/idp/ui/taglib/ServiceLogoTag.java    |  2 +-
 .../java/net/shibboleth/idp/ui/taglib/ServiceNameTag.java    |  2 +-
 .../net/shibboleth/idp/ui/taglib/ServicePrivacyURLTag.java   |  2 +-
 38 files changed, 77 insertions(+), 78 deletions(-)

diff --git a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/PredicatePolicyRule.java b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/PredicatePolicyRule.java
index 39890ff..df7bf62 100644
--- a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/PredicatePolicyRule.java
+++ b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/PredicatePolicyRule.java
@@ -127,7 +127,7 @@ public class PredicatePolicyRule extends AbstractPolicyRule {
             log.trace("{} Predicate returned false", getLogPrefix());
             return Tristate.FALSE;
         } catch (final Throwable ex) {
-            log.warn("{} Applying the predicated failed", getLogPrefix(), ex);
+            log.warn("{} Applying the predicate failed", getLogPrefix(), ex);
             return Tristate.FAIL;
         }
     }
diff --git a/idp-attribute-impl/src/main/java/net/shibboleth/idp/attribute/impl/JDBCPairwiseIdStore.java b/idp-attribute-impl/src/main/java/net/shibboleth/idp/attribute/impl/JDBCPairwiseIdStore.java
index b33e2bf..870a210 100644
--- a/idp-attribute-impl/src/main/java/net/shibboleth/idp/attribute/impl/JDBCPairwiseIdStore.java
+++ b/idp-attribute-impl/src/main/java/net/shibboleth/idp/attribute/impl/JDBCPairwiseIdStore.java
@@ -529,7 +529,7 @@ public class JDBCPairwiseIdStore extends AbstractInitializableComponent implemen
                 throw new ComponentInitializationException(
                         "The database was not reachable or was not defined with an appropriate table + primary key");
             }
-            log.warn("The database was not reachable or was not defined with an appropriate table + primary key",e);
+            log.warn("The database was not reachable or was not defined with an appropriate table + primary key", e);
         }
     }
 
diff --git a/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/TemplatedExecutableSearchFilterBuilder.java b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/TemplatedExecutableSearchFilterBuilder.java
index e5facf6..000634a 100644
--- a/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/TemplatedExecutableSearchFilterBuilder.java
+++ b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/TemplatedExecutableSearchFilterBuilder.java
@@ -194,7 +194,7 @@ public class TemplatedExecutableSearchFilterBuilder extends AbstractExecutableSe
             final SearchFilter searchFilter = new SearchFilter(merge(context));
             return super.build(searchFilter);
         } catch (final VelocityException e) {
-            log.error("Error running template", e);
+            log.error("Error running template: {}", e.getMessage());
             throw new ResolutionException("Error running template", e);
         }
     }
diff --git a/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/dc/rdbms/TemplatedExecutableStatementBuilder.java b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/dc/rdbms/TemplatedExecutableStatementBuilder.java
index 4a11864..aa2901c 100644
--- a/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/dc/rdbms/TemplatedExecutableStatementBuilder.java
+++ b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/dc/rdbms/TemplatedExecutableStatementBuilder.java
@@ -200,9 +200,9 @@ public class TemplatedExecutableStatementBuilder extends AbstractExecutableState
 
         try {
             return merge(context);
-        } catch (final VelocityException ex) {
-            log.error("Error running template", ex);
-            throw new ResolutionException("Error running template", ex);
+        } catch (final VelocityException e) {
+            log.error("Error running template: {}", e.getMessage());
+            throw new ResolutionException("Error running template", e);
         }
     }
 
diff --git a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/ad/impl/TemplateAttributeDefinition.java b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/ad/impl/TemplateAttributeDefinition.java
index ded6959..ec8a344 100644
--- a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/ad/impl/TemplateAttributeDefinition.java
+++ b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/ad/impl/TemplateAttributeDefinition.java
@@ -197,7 +197,7 @@ public class TemplateAttributeDefinition extends AbstractAttributeDefinition {
                 valueList.add(StringAttributeValue.valueOf(templateResult));
             } catch (final VelocityException e) {
                 // uncovered path
-                log.error("{} Unable to evaluate velocity template", getLogPrefix(), e);
+                log.error("{} Unable to evaluate velocity template: {}", getLogPrefix(), e.getMessage());
                 throw new ResolutionException("Unable to evaluate template", e);
             }
         }
diff --git a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/http/impl/TemplatedBodyBuilder.java b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/http/impl/TemplatedBodyBuilder.java
index 73514bf..cc85980 100644
--- a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/http/impl/TemplatedBodyBuilder.java
+++ b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/http/impl/TemplatedBodyBuilder.java
@@ -364,7 +364,7 @@ public class TemplatedBodyBuilder extends AbstractHTTPSearchBuilder {
             url = merge(urlTemplate, context);
             body = merge(bodyTemplate, context);
         } catch (final VelocityException e) {
-            log.error("Error running template engine", e);
+            log.error("Error running template engine: {}", e.getMessage());
             throw new ResolutionException("Error running template engine", e);
         }
         
diff --git a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/http/impl/TemplatedURLBuilder.java b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/http/impl/TemplatedURLBuilder.java
index b0f1e4c..04abe62 100644
--- a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/http/impl/TemplatedURLBuilder.java
+++ b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/http/impl/TemplatedURLBuilder.java
@@ -204,7 +204,7 @@ public class TemplatedURLBuilder extends AbstractHTTPSearchBuilder {
         try {
             return merge(context);
         } catch (final VelocityException e) {
-            log.error("Error running template engine", e);
+            log.error("Error running template engine: {}", e.getMessage());
             throw new ResolutionException("Error running template engine", e);
         }
     }
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/impl/RegexSplitAttributeDefinitionParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/impl/RegexSplitAttributeDefinitionParser.java
index 0431d91..f07e3bd 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/impl/RegexSplitAttributeDefinitionParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/impl/RegexSplitAttributeDefinitionParser.java
@@ -57,8 +57,8 @@ public class RegexSplitAttributeDefinitionParser extends BaseAttributeDefinition
         final String regexp = StringSupport.trimOrNull(config.getAttributeNS(null, "regex"));
 
         if (null == regexp) {
-            log.error("{} No regexp specified.", getLogPrefix());
-            throw new BeanCreationException(getLogPrefix() + " No regexp text provided.");
+            log.error("{} No regexp specified", getLogPrefix());
+            throw new BeanCreationException(getLogPrefix() + " No regexp text provided");
         }
 
         final BeanDefinitionBuilder pattern = BeanDefinitionBuilder.genericBeanDefinition(PatternFactoryBean.class);
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/spnego/impl/GSSContextAcceptor.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/spnego/impl/GSSContextAcceptor.java
index 2d5a647..1a01682 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/spnego/impl/GSSContextAcceptor.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/spnego/impl/GSSContextAcceptor.java
@@ -219,19 +219,17 @@ public class GSSContextAcceptor {
         }
         log.trace("Server login successful using principal: {}", realm.getServicePrincipal());
 
-        /*
-         * Create the server credentials and an acceptor context.
-         */
+        // Create the server credentials and an acceptor context.
         log.trace("Creating GSS credentials and context");
         final GSSManager manager = GSSManager.getInstance();
         try {
             serverCreds = getServerCredential(krbSubject);
             context = manager.createContext(serverCreds);
         } catch (final PrivilegedActionException e) {
-            log.error("Error creating GSS credentials", e);
+            log.error("Error creating GSS credentials: {}", e.getMessage());
             throw e;
         } catch (final GSSException e) {
-            log.error("Error creating GSS acceptor context", e);
+            log.error("Error creating GSS acceptor context: {}", e.getMessage());
             throw e;
         }
         log.trace("GSS acceptor context created");
diff --git a/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/storage/impl/ConsentSerializer.java b/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/storage/impl/ConsentSerializer.java
index c2e38af..cf30163 100644
--- a/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/storage/impl/ConsentSerializer.java
+++ b/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/storage/impl/ConsentSerializer.java
@@ -168,7 +168,7 @@ public class ConsentSerializer extends AbstractInitializableComponent implements
                     key, value, expiration, consents,});
             return consents;
         } catch (final NullPointerException | ClassCastException | ArithmeticException | JsonException e) {
-            log.error("Exception while parsing consent", e);
+            log.error("Exception while parsing consent: {}", e.getMessage());
             throw new IOException("Found invalid data structure while parsing consent", e);
         }
     }
diff --git a/idp-installer/src/main/java/net/shibboleth/idp/installer/InstallerPropertiesImpl.java b/idp-installer/src/main/java/net/shibboleth/idp/installer/InstallerPropertiesImpl.java
index b27dd16..65893c0 100644
--- a/idp-installer/src/main/java/net/shibboleth/idp/installer/InstallerPropertiesImpl.java
+++ b/idp-installer/src/main/java/net/shibboleth/idp/installer/InstallerPropertiesImpl.java
@@ -231,7 +231,7 @@ public class InstallerPropertiesImpl extends AbstractInitializableComponent impl
             try {
                 installerProperties.load(new FileInputStream(idpPropertyFile));
             } catch (final IOException e) {
-                log.error("Could not load {}", file.toAbsolutePath(), e);
+                log.error("Could not load {}: {}", file.toAbsolutePath(), e.getMessage());
                 throw new ComponentInitializationException(e);
             }
             if (!isNoTidy()) {
diff --git a/idp-installer/src/main/java/net/shibboleth/idp/installer/InstallerSupport.java b/idp-installer/src/main/java/net/shibboleth/idp/installer/InstallerSupport.java
index 258c889..4450cc7 100644
--- a/idp-installer/src/main/java/net/shibboleth/idp/installer/InstallerSupport.java
+++ b/idp-installer/src/main/java/net/shibboleth/idp/installer/InstallerSupport.java
@@ -66,7 +66,7 @@ public final class InstallerSupport {
                 Files.createDirectories(dir);
                 log.debug("Created directory {}", dir);
             } catch (final IOException e) {
-                log.error("Could not create {}", dir, e);
+                log.error("Could not create {}: {}", dir, e.getMessage());
                throw new BuildException(e);
             }
         }
@@ -149,7 +149,7 @@ public final class InstallerSupport {
         try {
             exec.execute();
         } catch (final IOException e) {
-            log.warn("{} failed: ", line, e);
+            log.warn("{} failed: {}", line, e.getMessage());
             throw new BuildException(e);
         }
     }
@@ -180,7 +180,7 @@ public final class InstallerSupport {
         try {
             exec.execute();
         } catch (final IOException e) {
-            log.warn("{} failed: ", line, e);
+            log.warn("{} failed: {}", line, e.getMessage());
             throw new BuildException(e);
         }
     }
diff --git a/idp-installer/src/main/java/net/shibboleth/idp/installer/V4Install.java b/idp-installer/src/main/java/net/shibboleth/idp/installer/V4Install.java
index 5b45478..32c2004 100644
--- a/idp-installer/src/main/java/net/shibboleth/idp/installer/V4Install.java
+++ b/idp-installer/src/main/java/net/shibboleth/idp/installer/V4Install.java
@@ -161,7 +161,7 @@ public class V4Install extends AbstractInitializableComponent {
             final OutputStream out = new FileOutputStream(versFile.toFile());
             vers.store(out, "Version file written at " + Instant.now());
         } catch (final IOException e) {
-            log.error("Couldn't write version file", e);
+            log.error("Couldn't write version file: {}", e.getMessage());
             throw new BuildException("Couldn't write versioning information", e);
         }
     }
diff --git a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/messaging/impl/SelectRelyingPartyConfiguration.java b/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/messaging/impl/SelectRelyingPartyConfiguration.java
index 6d2bb82..dc5d454 100644
--- a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/messaging/impl/SelectRelyingPartyConfiguration.java
+++ b/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/messaging/impl/SelectRelyingPartyConfiguration.java
@@ -142,8 +142,8 @@ public final class SelectRelyingPartyConfiguration extends AbstractMessageHandle
             log.debug("{} Found relying party configuration {} for request", getLogPrefix(), config.getId());
             relyingPartyCtx.setConfiguration(config);
         } catch (final ResolverException e) {
-            log.error("{} Error trying to resolve relying party configuration", getLogPrefix(), e);
-            throw new MessageHandlerException("Error trying to resolve relying party configuration");
+            log.error("{} Error trying to resolve relying party configuration: {}", getLogPrefix(), e.getMessage());
+            throw new MessageHandlerException("Error trying to resolve relying party configuration", e);
         }
     }
 }
\ No newline at end of file
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/BasicResourceCredentialFactoryBean.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/BasicResourceCredentialFactoryBean.java
index aa3b603..eed8ef4 100644
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/BasicResourceCredentialFactoryBean.java
+++ b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/BasicResourceCredentialFactoryBean.java
@@ -30,7 +30,6 @@ import org.cryptacular.util.KeyPairUtil;
 import org.opensaml.security.crypto.KeySupport;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.FatalBeanException;
 import org.springframework.beans.factory.BeanCreationException;
 import org.springframework.core.io.Resource;
 
@@ -115,8 +114,8 @@ public class BasicResourceCredentialFactoryBean extends AbstractBasicCredentialF
         try (InputStream is = getPublicKeyInfo().getInputStream()) {
             return KeyPairUtil.readPublicKey(is);
         } catch (final IOException e) {
-            log.error("{}: Could not decode public key", getConfigDescription(), e);
-            throw new FatalBeanException("Could not decode public key", e);
+            log.error("{}: Could not decode public key: {}", getConfigDescription(), e.getMessage());
+            throw new BeanCreationException("Could not decode public key", e);
         }
     }
 
@@ -128,8 +127,8 @@ public class BasicResourceCredentialFactoryBean extends AbstractBasicCredentialF
         try (InputStream is = getPrivateKeyInfo().getInputStream()) {
             return KeySupport.decodePrivateKey(is, getPrivateKeyPassword());
         } catch (final KeyException | IOException e) {
-            log.error("{}: Could not decode private key", getConfigDescription(), e);
-            throw new BeanCreationException("Could not decode private key", getConfigDescription(), e);
+            log.error("{}: Could not decode private key: {}", getConfigDescription(), e.getMessage());
+            throw new BeanCreationException("Could not decode private key", e);
         }
     }
 
@@ -141,7 +140,7 @@ public class BasicResourceCredentialFactoryBean extends AbstractBasicCredentialF
         try (InputStream is = getSecretKeyInfo().getInputStream()) {
             return KeySupport.decodeSecretKey(decodeSecretKey(ByteStreams.toByteArray(is)), getSecretKeyAlgorithm());
         } catch (final KeyException | IOException e) {
-            log.error("{}: Could not decode secret key", getConfigDescription(), e);
+            log.error("{}: Could not decode secret key: {}", getConfigDescription(), e.getMessage());
             throw new BeanCreationException("Could not decode secret key", e);
         }
     }
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/BasicX509CredentialFactoryBean.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/BasicX509CredentialFactoryBean.java
index bdb8817..73cc143 100644
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/BasicX509CredentialFactoryBean.java
+++ b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/BasicX509CredentialFactoryBean.java
@@ -164,7 +164,7 @@ public class BasicX509CredentialFactoryBean extends AbstractX509CredentialFactor
             return certs.iterator().next();
         } catch (final CertificateException | IOException e) {
             log.error("{}: Could not decode provided Entity Certificate at {}: {}", getConfigDescription(),
-                    entityResource.getDescription(), e);
+                    entityResource.getDescription(), e.getMessage());
             throw new FatalBeanException("Could not decode provided Entity Certificate file "
                     + entityResource.getDescription(), e);
         }
@@ -183,7 +183,7 @@ public class BasicX509CredentialFactoryBean extends AbstractX509CredentialFactor
                 certificates.addAll(X509Support.decodeCertificates(is));
             } catch (final CertificateException | IOException e) {
                 log.error("{}: could not decode CertificateFile at {}: {}", getConfigDescription(),
-                        r.getDescription(), e);
+                        r.getDescription(), e.getMessage());
                 throw new FatalBeanException("Could not decode provided CertificateFile: " + r.getDescription(), e);
             }
         }
@@ -199,7 +199,7 @@ public class BasicX509CredentialFactoryBean extends AbstractX509CredentialFactor
             return KeySupport.decodePrivateKey(is, getPrivateKeyPassword());
         } catch (final KeyException | IOException e) {
             log.error("{}: Could not decode KeyFile at {}: {}", getConfigDescription(),
-                    privateKeyResource.getDescription(), e);
+                    privateKeyResource.getDescription(), e.getMessage());
             throw new FatalBeanException("Could not decode provided KeyFile " + privateKeyResource.getDescription(), e);
         }
     }
@@ -214,7 +214,8 @@ public class BasicX509CredentialFactoryBean extends AbstractX509CredentialFactor
             try (InputStream is = crl.getInputStream()) {
                 crls.addAll(X509Support.decodeCRLs(is));
             } catch (final CRLException | IOException e) {
-                log.error("{}: Could not decode CRL file: {}", getConfigDescription(), crl.getDescription(), e);
+                log.error("{}: Could not decode CRL file at {}: {}", getConfigDescription(), crl.getDescription(),
+                        e.getMessage());
                 throw new FatalBeanException("Could not decode provided CRL file " + crl.getDescription(), e);
             }
         }
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/StaticExplicitKeyFactoryBean.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/StaticExplicitKeyFactoryBean.java
index 01b116f..b9c6d2e 100644
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/StaticExplicitKeyFactoryBean.java
+++ b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/StaticExplicitKeyFactoryBean.java
@@ -99,8 +99,8 @@ public class StaticExplicitKeyFactoryBean extends AbstractComponentAwareFactoryB
             try(final InputStream is = f.getInputStream()) {
                 credentials.add(new BasicCredential(KeyPairUtil.readPublicKey(is)));
             } catch (final EncodingException|StreamException|IOException e) {
-                log.error("Could not decode public key from {}", f.getDescription(), e);
-                throw new FatalBeanException("Could not decode public key from: " + f.getDescription(), e);
+                log.error("Could not decode public key from {}: {}", f.getDescription(), e.getMessage());
+                throw new FatalBeanException("Could not decode public key from " + f.getDescription(), e);
             }
         }
                 
@@ -117,8 +117,8 @@ public class StaticExplicitKeyFactoryBean extends AbstractComponentAwareFactoryB
                 }
                 
             } catch (final CertificateException | IOException e) {
-                log.error("Could not decode certificate from {}", f.getDescription(), e);
-                throw new FatalBeanException("Could not decode certificate from: " + f.getDescription(), e);
+                log.error("Could not decode certificate from {}: {}", f.getDescription(), e.getMessage());
+                throw new FatalBeanException("Could not decode certificate from " + f.getDescription(), e);
             }
         }
 
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/StaticPKIXFactoryBean.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/StaticPKIXFactoryBean.java
index dc73614..7ac5997 100644
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/StaticPKIXFactoryBean.java
+++ b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/StaticPKIXFactoryBean.java
@@ -152,7 +152,7 @@ public class StaticPKIXFactoryBean extends AbstractComponentAwareFactoryBean<PKI
             try(final InputStream is = f.getInputStream()) {
                 certificates.addAll(X509Support.decodeCertificates(is));
             } catch (final CertificateException | IOException e) {
-                log.error("Could not decode Certificate at {}", f.getDescription(), e);
+                log.error("Could not decode Certificate at {}: {}", f.getDescription(), e.getMessage());
                 throw new FatalBeanException("Could not decode provided CertificateFile: " + f.getDescription(), e);
             }
         }
@@ -174,7 +174,7 @@ public class StaticPKIXFactoryBean extends AbstractComponentAwareFactoryBean<PKI
             try(final InputStream is = crlFile.getInputStream())  {
                 crls.addAll(X509Support.decodeCRLs(is));
             } catch (final CRLException | IOException e) {
-                log.error("Could not decode CRL file at {}: {}", crlFile.getDescription(), e);
+                log.error("Could not decode CRL file at {}: {}", crlFile.getDescription(), e.getMessage());
                 throw new FatalBeanException("Could not decode provided CRL file " + crlFile.getDescription(), e);
             }
         }
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/X509InlineCredentialFactoryBean.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/X509InlineCredentialFactoryBean.java
index 02e576f..056f868 100644
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/X509InlineCredentialFactoryBean.java
+++ b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/X509InlineCredentialFactoryBean.java
@@ -101,7 +101,7 @@ public class X509InlineCredentialFactoryBean extends AbstractX509CredentialFacto
         try {
             return X509Support.decodeCertificate(entityCertificate);
         } catch (final CertificateException e) {
-            log.error("{}: Could not decode provided Entity Certificate", getConfigDescription(), e);
+            log.error("{}: Could not decode provided Entity Certificate: {}", getConfigDescription(), e.getMessage());
             throw new FatalBeanException("Could not decode provided Entity Certificate", e);
         }
     }
@@ -113,7 +113,7 @@ public class X509InlineCredentialFactoryBean extends AbstractX509CredentialFacto
             try {
                 certs.add(X509Support.decodeCertificate(cert.trim()));
             } catch (final CertificateException e) {
-                log.error("{}: Could not decode provided Certificate", getConfigDescription(), e);
+                log.error("{}: Could not decode provided Certificate: {}", getConfigDescription(), e.getMessage());
                 throw new FatalBeanException("Could not decode provided Certificate", e);
             }
         }
@@ -138,7 +138,7 @@ public class X509InlineCredentialFactoryBean extends AbstractX509CredentialFacto
             try {
                 result.add(X509Support.decodeCRL(crl));
             } catch (final CRLException | CertificateException e) {
-                log.error("{}: Could not decode provided CRL", getConfigDescription(), e);
+                log.error("{}: Could not decode provided CRL: {}", getConfigDescription(), e.getMessage());
                 throw new FatalBeanException("Could not decode provided CRL", e);
             }
         }
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/security/trustengine/impl/PKIXInlineValidationInfoFactoryBean.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/security/trustengine/impl/PKIXInlineValidationInfoFactoryBean.java
index 156cfcb..62011ce 100644
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/security/trustengine/impl/PKIXInlineValidationInfoFactoryBean.java
+++ b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/security/trustengine/impl/PKIXInlineValidationInfoFactoryBean.java
@@ -77,7 +77,7 @@ public class PKIXInlineValidationInfoFactoryBean extends AbstractBasicPKIXValida
             try {
                 certificates.add(X509Support.decodeCertificate(cert.trim()));
             } catch (final CertificateException e) {
-                log.error("{}: Could not decode provided Certificate", getConfigDescription(), e);
+                log.error("{}: Could not decode provided Certificate: {}", getConfigDescription(), e.getMessage());
                 throw new FatalBeanException("Could not decode provided Certificate", e);
             }
         }
@@ -98,7 +98,7 @@ public class PKIXInlineValidationInfoFactoryBean extends AbstractBasicPKIXValida
             try {
                 crls.add(X509Support.decodeCRL(crl));
             } catch (final CRLException | CertificateException e) {
-                log.error("{}: Could not decode provided CRL", getConfigDescription(), e);
+                log.error("{}: Could not decode provided CRL: {}", getConfigDescription(), e.getMessage());
                 throw new FatalBeanException("Could not decode provided CRL", e);
             }
         }
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/security/trustengine/impl/PKIXResourceValidationInfoFactoryBean.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/security/trustengine/impl/PKIXResourceValidationInfoFactoryBean.java
index f85d1bf..89ae63a 100644
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/security/trustengine/impl/PKIXResourceValidationInfoFactoryBean.java
+++ b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/security/trustengine/impl/PKIXResourceValidationInfoFactoryBean.java
@@ -80,7 +80,8 @@ public class PKIXResourceValidationInfoFactoryBean extends AbstractBasicPKIXVali
             try(InputStream is = f.getInputStream()) {
                 certificates.addAll(X509Support.decodeCertificates(is));
             } catch (final CertificateException | IOException e) {
-                log.error("{}: Could not decode Certificate at {}", getConfigDescription(), f.getDescription(), e);
+                log.error("{}: Could not decode Certificate at {}: {}", getConfigDescription(), f.getDescription(),
+                        e.getMessage());
                 throw new FatalBeanException("Could not decode provided CertificateFile: " + f.getDescription(), e);
             }
         }
@@ -102,7 +103,7 @@ public class PKIXResourceValidationInfoFactoryBean extends AbstractBasicPKIXVali
                 crls.addAll(X509Support.decodeCRLs(is));
             } catch (final CRLException | IOException e) {
                 log.error("{}: Could not decode CRL file at {}: {}", getConfigDescription(), crlFile.getDescription(),
-                        e);
+                        e.getMessage());
                 throw new FatalBeanException("Could not decode provided CRL file " + crlFile.getDescription(), e);
             }
         }
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/resource/impl/HTTPResourceFactoryBean.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/resource/impl/HTTPResourceFactoryBean.java
index 8c515db..3748cfa 100644
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/resource/impl/HTTPResourceFactoryBean.java
+++ b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/resource/impl/HTTPResourceFactoryBean.java
@@ -186,8 +186,8 @@ public class HTTPResourceFactoryBean extends AbstractFactoryBean<HTTPResource> {
             try(final InputStream is = f.getInputStream()) {
                 credentials.add(new BasicCredential(KeyPairUtil.readPublicKey(is)));
             } catch (final EncodingException|StreamException|IOException e) {
-                log.error("Could not decode public key from {}", f.getDescription(), e);
-                throw new FatalBeanException("Could not decode public key from: " + f.getDescription(), e);
+                log.error("Could not decode public key from {}: {}", f.getDescription(), e.getMessage());
+                throw new FatalBeanException("Could not decode public key from " + f.getDescription(), e);
             }
         }
                 
@@ -202,8 +202,8 @@ public class HTTPResourceFactoryBean extends AbstractFactoryBean<HTTPResource> {
                     });
                 }
             } catch (final CertificateException | IOException e) {
-                log.error("Could not decode certificate from {}", f.getDescription(), e);
-                throw new FatalBeanException("Could not decode certificate from: " + f.getDescription(), e);
+                log.error("Could not decode certificate from {}: {}", f.getDescription(), e.getMessage());
+                throw new FatalBeanException("Could not decode certificate from " + f.getDescription(), e);
             }
         }
 
@@ -225,8 +225,8 @@ public class HTTPResourceFactoryBean extends AbstractFactoryBean<HTTPResource> {
             try(final InputStream is = f.getInputStream()) {
                 certificates.addAll(X509Support.decodeCertificates(is));
             } catch (final CertificateException | IOException e) {
-                log.error("Could not decode Certificate at {}", f.getDescription(), e);
-                throw new FatalBeanException("Could not decode provided CertificateFile: " + f.getDescription(), e);
+                log.error("Could not decode Certificate at {}: {}", f.getDescription(), e.getMessage());
+                throw new FatalBeanException("Could not decode provided CertificateFile " + f.getDescription(), e);
             }
         }
         return certificates;
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/TransientIdParameters.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/TransientIdParameters.java
index 1854884..82f2a89 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/TransientIdParameters.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/TransientIdParameters.java
@@ -126,9 +126,8 @@ public class TransientIdParameters {
 
             return sink.toString();
         } catch (final JsonException e) {
-
-            log.error("Exception while serializing IdPSession", e);
-            throw new IOException("Exception while serializing IdPSession", e);
+            log.error("Exception while serializing TransientID: {}", e.getMessage());
+            throw new IOException("Exception while serializing TransientID", e);
         }
     }
 }
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/delegation/messaging/impl/LibertyHTTPSOAP11Decoder.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/delegation/messaging/impl/LibertyHTTPSOAP11Decoder.java
index d7b47fb..0886398 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/delegation/messaging/impl/LibertyHTTPSOAP11Decoder.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/delegation/messaging/impl/LibertyHTTPSOAP11Decoder.java
@@ -143,14 +143,14 @@ public class LibertyHTTPSOAP11Decoder extends BaseHttpServletRequestXMLMessageDe
             soapMessage = (Envelope) unmarshallMessage(request.getInputStream());
             messageContext.getSubcontext(SOAP11Context.class, true).setEnvelope(soapMessage);
         } catch (final IOException e) {
-            log.error("Unable to obtain input stream from HttpServletRequest", e);
+            log.error("Unable to obtain input stream from HttpServletRequest: {}", e.getMessage());
             throw new MessageDecodingException("Unable to obtain input stream from HttpServletRequest", e);
         }
         
         try {
             getBodyHandler().invoke(messageContext);
         } catch (final MessageHandlerException e) {
-            log.error("Error processing SOAP Envelope body", e);
+            log.error("Error processing SOAP Envelope body: {}", e.getMessage());
             throw new MessageDecodingException("Error processing SOAP Envelope body", e);
         }
         
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/security/impl/MetadataPKIXValidationInformationResolver.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/security/impl/MetadataPKIXValidationInformationResolver.java
index bc41c0c..b9d2a77 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/security/impl/MetadataPKIXValidationInformationResolver.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/security/impl/MetadataPKIXValidationInformationResolver.java
@@ -430,7 +430,7 @@ public class MetadataPKIXValidationInformationResolver extends AbstractInitializ
             return getRoleDescriptorResolver().resolve(criteriaSet);
 
         } catch (final ResolverException e) {
-            log.error("Unable to resolve information from metadata", e);
+            log.error("Unable to resolve information from metadata: {}", e.getMessage());
             throw new ResolverException("Unable to resolve unformation from metadata", e);
         }
 
diff --git a/idp-session-api/src/main/java/net/shibboleth/idp/session/AbstractSPSessionSerializer.java b/idp-session-api/src/main/java/net/shibboleth/idp/session/AbstractSPSessionSerializer.java
index af9f983..b2b910f 100644
--- a/idp-session-api/src/main/java/net/shibboleth/idp/session/AbstractSPSessionSerializer.java
+++ b/idp-session-api/src/main/java/net/shibboleth/idp/session/AbstractSPSessionSerializer.java
@@ -84,7 +84,7 @@ public abstract class AbstractSPSessionSerializer extends AbstractInitializableC
             
             return sink.toString();
         } catch (final JsonException e) {
-            log.error("Exception while serializing SPSession", e);
+            log.error("Exception while serializing SPSession: {}", e.getMessage());
             throw new IOException("Exception while serializing SPSession", e);
         }
     }
@@ -112,7 +112,7 @@ public abstract class AbstractSPSessionSerializer extends AbstractInitializableC
             return doDeserialize(obj, serviceId, creation, Instant.ofEpochMilli(expiration).minus(expirationOffset));
             
         } catch (final NullPointerException | ClassCastException | ArithmeticException | JsonException e) {
-            log.error("Exception while parsing SPSession", e);
+            log.error("Exception while parsing SPSession: {}", e.getMessage());
             throw new IOException("Found invalid data structure while parsing SPSession", e);
         }
     }
diff --git a/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedIdPSession.java b/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedIdPSession.java
index 86a7473..5433b8e 100644
--- a/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedIdPSession.java
+++ b/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedIdPSession.java
@@ -558,7 +558,7 @@ public class StorageBackedIdPSession extends AbstractIdPSession {
             log.debug("No AuthenticationResult for flow {} in session {}", flowId, getId());
             return null;
         } catch (final IOException e) {
-            log.error("Exception loading AuthenticationResult for flow {} from storage", flowId, e);
+            log.error("Exception loading AuthenticationResult for flow {} from storage: {}", flowId, e.getMessage());
             throw e;
         }
     }
@@ -605,7 +605,7 @@ public class StorageBackedIdPSession extends AbstractIdPSession {
             
             return success;
         } catch (final IOException e) {
-            log.error("Exception saving AuthenticationResult for flow {} to storage", flowId, e);
+            log.error("Exception saving AuthenticationResult for flow {} to storage: {}", flowId, e.getMessage());
             throw e;
         }
     }
@@ -652,10 +652,11 @@ public class StorageBackedIdPSession extends AbstractIdPSession {
                     record.getVersion(), getId(), key, record.getValue().substring(pos + 1), record.getExpiration());
             
         } catch (final IOException e) {
-            log.error("IOException loading SPSession for service {} from storage", serviceId, e);
+            log.error("IOException loading SPSession for service {} from storage: {}", serviceId, e.getMessage());
             throw e;
         } catch (final ClassNotFoundException e) {
-            log.error("ClassNotFoundException loading SPSession for service {} from storage", serviceId, e);
+            log.error("ClassNotFoundException loading SPSession for service {} from storage: {}", serviceId,
+                    e.getMessage());
             throw new IOException(e);
         }
     }
@@ -707,7 +708,7 @@ public class StorageBackedIdPSession extends AbstractIdPSession {
             
             return success;
         } catch (final IOException e) {
-            log.error("IOException saving SPSession for service {} to storage", session.getId(), e);
+            log.error("IOException saving SPSession for service {} to storage: {}", session.getId(), e.getMessage());
             throw e;
         }
     }
diff --git a/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedIdPSessionSerializer.java b/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedIdPSessionSerializer.java
index 6ad2349..946b7ea 100644
--- a/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedIdPSessionSerializer.java
+++ b/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedIdPSessionSerializer.java
@@ -143,7 +143,7 @@ public class StorageBackedIdPSessionSerializer extends AbstractInitializableComp
 
             return sink.toString();
         } catch (final JsonException e) {
-            log.error("Exception while serializing IdPSession", e);
+            log.error("Exception while serializing IdPSession: {}", e.getMessage());
             throw new IOException("Exception while serializing IdPSession", e);
         }
     }
@@ -212,7 +212,7 @@ public class StorageBackedIdPSessionSerializer extends AbstractInitializableComp
             return objectToPopulate;
 
         } catch (final NullPointerException | ClassCastException | ArithmeticException | JsonException e) {
-            log.error("Exception while parsing IdPSession", e);
+            log.error("Exception while parsing IdPSession: {}", e.getMessage());
             throw new IOException("Found invalid data structure while parsing IdPSession", e);
         }
     }
diff --git a/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedSessionManager.java b/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedSessionManager.java
index 1846efe..4b39c78 100644
--- a/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedSessionManager.java
+++ b/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedSessionManager.java
@@ -567,7 +567,7 @@ public class StorageBackedSessionManager extends AbstractIdentifiableInitializab
             storageService.deleteContext(sessionId);
             log.debug("Destroyed session {}", sessionId);
         } catch (final IOException e) {
-            log.error("Exception while destroying session {}", sessionId, e);
+            log.error("Exception while destroying session {}: {}", sessionId, e.getMessage());
             throw new SessionException("Exception while destroying session", e);
         }
     }
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/OrganizationDisplayNameTag.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/OrganizationDisplayNameTag.java
index b86df78..e1c518f 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/OrganizationDisplayNameTag.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/OrganizationDisplayNameTag.java
@@ -68,7 +68,7 @@ public class OrganizationDisplayNameTag extends ServiceTagSupport {
                 pageContext.getOut().print(HTMLEncoder.encodeForHTML(name));
             }
         } catch (final IOException e) {
-            log.warn("Error generating OrganizationDisplayName", e);
+            log.warn("Error generating OrganizationDisplayName: {}", e.getMessage());
             throw new JspException("EndTag", e);
         }
         return super.doEndTag();
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/OrganizationNameTag.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/OrganizationNameTag.java
index 9b2790b..6ea3b19 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/OrganizationNameTag.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/OrganizationNameTag.java
@@ -68,7 +68,7 @@ public class OrganizationNameTag extends ServiceTagSupport {
                 pageContext.getOut().print(HTMLEncoder.encodeForHTML(name));
             }
         } catch (final IOException e) {
-            log.warn("Error generating OrganizationName", e);
+            log.warn("Error generating OrganizationName: {}", e.getMessage());
             throw new JspException("EndTag", e);
         }
         return super.doEndTag();
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/OrganizationURLTag.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/OrganizationURLTag.java
index 1752855..afe318b 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/OrganizationURLTag.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/OrganizationURLTag.java
@@ -78,7 +78,7 @@ public class OrganizationURLTag extends ServiceTagSupport {
                 pageContext.getOut().print(buildHyperLink(orgURL, linkText));
             }
         } catch (final IOException e) {
-            log.warn("Error generating OrganizationURL", e);
+            log.warn("Error generating OrganizationURL: {}", e.getMessage());
             throw new JspException("EndTag", e);
         }
         return super.doEndTag();
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceContactTag.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceContactTag.java
index 640146e..6ad8f8d 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceContactTag.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceContactTag.java
@@ -179,7 +179,7 @@ public class ServiceContactTag extends ServiceTagSupport {
                 pageContext.getOut().print(result);
             }
         } catch (final IOException e) {
-            log.warn("Error generating contact");
+            log.warn("Error generating contact: {}", e.getMessage());
             throw new JspException("EndTag", e);
         }
         return super.doEndTag();
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceDescriptionTag.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceDescriptionTag.java
index 421de66..6e20633 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceDescriptionTag.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceDescriptionTag.java
@@ -62,7 +62,7 @@ public class ServiceDescriptionTag extends ServiceTagSupport {
                 pageContext.getOut().print(result);
             }
         } catch (final IOException e) {
-            log.warn("Error generating Description", e);
+            log.warn("Error generating Description: {}", e.getMessage());
             throw new JspException("EndTag", e);
         }
         return super.doEndTag();
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceInformationURLTag.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceInformationURLTag.java
index e1f44ab..623ed06 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceInformationURLTag.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceInformationURLTag.java
@@ -78,7 +78,7 @@ public class ServiceInformationURLTag extends ServiceTagSupport {
                 pageContext.getOut().print(buildHyperLink(infoURL, linkText));
             }
         } catch (final IOException e) {
-            log.warn("Error generating InformationURL", e);
+            log.warn("Error generating InformationURL: {}", e.getMessage());
             throw new JspException("EndTag", e);
         }
         return super.doEndTag();
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceLogoTag.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceLogoTag.java
index 96329f8..9f12200 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceLogoTag.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceLogoTag.java
@@ -210,7 +210,7 @@ public class ServiceLogoTag extends ServiceTagSupport {
                 pageContext.getOut().print(result);
             }
         } catch (final IOException e) {
-            log.warn("Error generating Logo", e);
+            log.warn("Error generating Logo: {}", e.getMessage());
             throw new JspException("EndTag", e);
         }
         return super.doEndTag();
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceNameTag.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceNameTag.java
index 825a50b..3270218 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceNameTag.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceNameTag.java
@@ -86,7 +86,7 @@ public class ServiceNameTag extends ServiceTagSupport {
                 pageContext.getOut().print(serviceName);
             }
         } catch (final IOException e) {
-            log.warn("Error generating name");
+            log.warn("Error generating name: {}", e.getMessage());
             throw new JspException("StartTag", e);
         }
         return super.doStartTag();
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServicePrivacyURLTag.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServicePrivacyURLTag.java
index 910ee45..8c9084e 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServicePrivacyURLTag.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServicePrivacyURLTag.java
@@ -77,7 +77,7 @@ public class ServicePrivacyURLTag extends ServiceTagSupport {
                 pageContext.getOut().print(buildHyperLink(privacyURL, linkText));
             }
         } catch (final IOException e) {
-            log.warn("Error generating PrivacyStatementURL", e);
+            log.warn("Error generating PrivacyStatementURL: {}", e.getMessage());
             throw new JspException("EndTag", e);
         }
         return super.doEndTag();

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list