This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 11.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/11.0.x by this push: new 810bc5c64c Review warn logging. Add exceptions where appropriate. Clean-up. 810bc5c64c is described below commit 810bc5c64c938423b6cc20149f38071fc34e80c6 Author: Mark Thomas <ma...@apache.org> AuthorDate: Tue Aug 19 14:45:46 2025 +0100 Review warn logging. Add exceptions where appropriate. Clean-up. --- java/org/apache/catalina/core/NamingContextListener.java | 2 +- java/org/apache/catalina/core/StandardWrapper.java | 4 ++-- java/org/apache/catalina/servlets/CGIServlet.java | 2 +- java/org/apache/catalina/session/PersistentManagerBase.java | 6 +++--- java/org/apache/catalina/startup/CatalinaProperties.java | 2 +- .../catalina/tribes/group/interceptors/NonBlockingCoordinator.java | 1 + java/org/apache/catalina/tribes/io/ObjectReader.java | 4 ++-- java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java | 5 ++++- .../apache/catalina/tribes/transport/nio/NioReplicationTask.java | 6 +++++- .../main/java/org/apache/tomcat/jdbc/pool/DataSourceFactory.java | 2 +- webapps/docs/changelog.xml | 2 +- 11 files changed, 22 insertions(+), 14 deletions(-) diff --git a/java/org/apache/catalina/core/NamingContextListener.java b/java/org/apache/catalina/core/NamingContextListener.java index 0118dde312..446bb70e34 100644 --- a/java/org/apache/catalina/core/NamingContextListener.java +++ b/java/org/apache/catalina/core/NamingContextListener.java @@ -989,7 +989,7 @@ public class NamingContextListener implements LifecycleListener, PropertyChangeL Registry.getRegistry(null).registerComponent(actualResource, on, null); objectNames.put(resource.getName(), on); } catch (Exception e) { - log.warn(sm.getString("naming.jmxRegistrationFailed", e)); + log.warn(sm.getString("naming.jmxRegistrationFailed", resource.getName()), e); } // Bug 63210. DBCP2 DataSources require an explicit close. This goes // further and cleans up and AutoCloseable DataSource by default. diff --git a/java/org/apache/catalina/core/StandardWrapper.java b/java/org/apache/catalina/core/StandardWrapper.java index 32d7e5d799..e61db72952 100644 --- a/java/org/apache/catalina/core/StandardWrapper.java +++ b/java/org/apache/catalina/core/StandardWrapper.java @@ -714,8 +714,8 @@ public class StandardWrapper extends ContainerBase implements ServletConfig, Wra try { jspMonitorON = new ObjectName(oname.toString()); Registry.getRegistry(null).registerComponent(instance, jspMonitorON, null); - } catch (Exception ex) { - log.warn(sm.getString("standardWrapper.jspMonitorError", instance)); + } catch (Exception e) { + log.warn(sm.getString("standardWrapper.jspMonitorError", instance), e); } } } diff --git a/java/org/apache/catalina/servlets/CGIServlet.java b/java/org/apache/catalina/servlets/CGIServlet.java index ab3f7f6fd2..7263915492 100644 --- a/java/org/apache/catalina/servlets/CGIServlet.java +++ b/java/org/apache/catalina/servlets/CGIServlet.java @@ -1544,7 +1544,7 @@ public final class CGIServlet extends HttpServlet { try { errReaderThread.join(stderrTimeout); } catch (InterruptedException e) { - log.warn(sm.getString("cgiServlet.runReaderInterrupt")); + log.warn(sm.getString("cgiServlet.runReaderInterrupt"), e); } } if (proc != null) { diff --git a/java/org/apache/catalina/session/PersistentManagerBase.java b/java/org/apache/catalina/session/PersistentManagerBase.java index 772dd461cd..88b3b9b450 100644 --- a/java/org/apache/catalina/session/PersistentManagerBase.java +++ b/java/org/apache/catalina/session/PersistentManagerBase.java @@ -508,7 +508,7 @@ public abstract class PersistentManagerBase extends ManagerBase implements Store // Store session count result += getStore().getSize(); } catch (IOException ioe) { - log.warn(sm.getString("persistentManager.storeSizeException")); + log.warn(sm.getString("persistentManager.storeSizeException"), ioe); } return result; } @@ -521,8 +521,8 @@ public abstract class PersistentManagerBase extends ManagerBase implements Store try { // Store session ID list sessionIds.addAll(Arrays.asList(getStore().keys())); - } catch (IOException e) { - log.warn(sm.getString("persistentManager.storeKeysException")); + } catch (IOException ioe) { + log.warn(sm.getString("persistentManager.storeKeysException"), ioe); } return sessionIds; } diff --git a/java/org/apache/catalina/startup/CatalinaProperties.java b/java/org/apache/catalina/startup/CatalinaProperties.java index 1220a87f0c..b2ba94b240 100644 --- a/java/org/apache/catalina/startup/CatalinaProperties.java +++ b/java/org/apache/catalina/startup/CatalinaProperties.java @@ -102,7 +102,7 @@ public class CatalinaProperties { properties.load(is); } catch (Throwable t) { handleThrowable(t); - log.warn(t); + log.warn(t.getMessage(),t); } finally { try { is.close(); diff --git a/java/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java b/java/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java index 03560e7764..ba3d4b65f8 100644 --- a/java/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java +++ b/java/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java @@ -286,6 +286,7 @@ public class NonBlockingCoordinator extends ChannelInterceptorBase { sendElectionMsg(local, msg.getMembers()[current], msg); sent = true; } catch (ChannelException x) { + // Exception is logged further up stack log.warn(sm.getString("nonBlockingCoordinator.electionMessage.sendfailed", msg.getMembers()[current])); current = Arrays.nextIndex(msg.getMembers()[current], msg.getMembers()); if (current == next) { diff --git a/java/org/apache/catalina/tribes/io/ObjectReader.java b/java/org/apache/catalina/tribes/io/ObjectReader.java index 7f8c340e44..519004d3c4 100644 --- a/java/org/apache/catalina/tribes/io/ObjectReader.java +++ b/java/org/apache/catalina/tribes/io/ObjectReader.java @@ -66,10 +66,10 @@ public class ObjectReader { public ObjectReader(Socket socket) { try { this.buffer = new XByteBuffer(socket.getReceiveBufferSize(), true); - } catch (IOException x) { + } catch (IOException ioe) { // unable to get buffer size log.warn(sm.getString("objectReader.retrieveFailed.socketReceiverBufferSize", - Integer.toString(Constants.DEFAULT_CLUSTER_MSG_BUFFER_SIZE))); + Integer.toString(Constants.DEFAULT_CLUSTER_MSG_BUFFER_SIZE)), ioe); this.buffer = new XByteBuffer(Constants.DEFAULT_CLUSTER_MSG_BUFFER_SIZE, true); } } diff --git a/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java b/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java index 1b14131f4c..4c6fc48e2c 100644 --- a/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java +++ b/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java @@ -240,10 +240,13 @@ public abstract class AbstractReplicatedMap<K, V> // state is transferred, we are ready for messaging broadcast(MapMessage.MSG_START, true); } catch (ChannelException x) { - log.warn(sm.getString("abstractReplicatedMap.unableSend.startMessage")); if (terminate) { + // Exception is logged further up stack + log.warn(sm.getString("abstractReplicatedMap.unableSend.startMessage")); breakdown(); throw new RuntimeException(sm.getString("abstractReplicatedMap.unableStart"), x); + } else { + log.warn(sm.getString("abstractReplicatedMap.unableSend.startMessage"), x); } } this.state = State.INITIALIZED; diff --git a/java/org/apache/catalina/tribes/transport/nio/NioReplicationTask.java b/java/org/apache/catalina/tribes/transport/nio/NioReplicationTask.java index c2e490f06c..4dff0dfa7d 100644 --- a/java/org/apache/catalina/tribes/transport/nio/NioReplicationTask.java +++ b/java/org/apache/catalina/tribes/transport/nio/NioReplicationTask.java @@ -338,7 +338,11 @@ public class NioReplicationTask extends AbstractRxTask { ((DatagramChannel) channel).socket().getInetAddress())); } } catch (IOException x) { - log.warn(sm.getString("nioReplicationTask.unable.ack", x.getMessage())); + if (log.isDebugEnabled()) { + log.debug(sm.getString("nioReplicationTask.unable.ack", x.getMessage()), x); + } else { + log.warn(sm.getString("nioReplicationTask.unable.ack", x.getMessage())); + } } } diff --git a/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/DataSourceFactory.java b/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/DataSourceFactory.java index ee20304f6a..d605c9e575 100644 --- a/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/DataSourceFactory.java +++ b/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/DataSourceFactory.java @@ -578,7 +578,7 @@ public class DataSourceFactory implements ObjectFactory { context = new InitialContext(); jndiDS = context.lookup(poolProperties.getDataSourceJNDI()); } catch (NamingException e) { - log.warn("The name \""+poolProperties.getDataSourceJNDI()+"\" cannot be found in the InitialContext."); + log.warn("The name \""+poolProperties.getDataSourceJNDI()+"\" cannot be found in the InitialContext.", e); } } if (jndiDS!=null) { diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 58d2d93b1b..b03d0fe7b7 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -118,7 +118,7 @@ <scode> Review logging and include the full stack trace and exception message by default rather then just the exception message when logging an error - in response to an exception. (markt) + or warning in response to an exception. (markt) </scode> </changelog> </subsection> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org