From 1fd95136427eab477ca0817e84bc195379d998f6 Mon Sep 17 00:00:00 2001 From: brinn <brinn> Date: Sun, 4 Nov 2012 19:12:54 +0000 Subject: [PATCH] DB connection logging: show inner and outer service method name when available. SVN: 27477 --- .../MonitoringPoolingDataSource.java | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/dbmigration/source/java/ch/systemsx/cisd/dbmigration/MonitoringPoolingDataSource.java b/dbmigration/source/java/ch/systemsx/cisd/dbmigration/MonitoringPoolingDataSource.java index 597115c2bad..a4ee3484e71 100644 --- a/dbmigration/source/java/ch/systemsx/cisd/dbmigration/MonitoringPoolingDataSource.java +++ b/dbmigration/source/java/ch/systemsx/cisd/dbmigration/MonitoringPoolingDataSource.java @@ -199,15 +199,29 @@ class MonitoringPoolingDataSource extends PoolingDataSource static String tryGetServiceMethodName(StackTraceElement[] stackTrace) { - String methodName = null; + String innerMethodName = null; + String outerMethodName = null; for (StackTraceElement e : stackTrace) { if (e.getClassName().contains("$Proxy")) { - methodName = e.getMethodName(); + if (innerMethodName == null) + { + innerMethodName = e.getMethodName(); + } + outerMethodName = e.getMethodName(); } } - return methodName; + if (innerMethodName == null) + { + return null; + } + if (innerMethodName.equals(outerMethodName)) + { + return outerMethodName; + } else { + return outerMethodName + " / " + innerMethodName; + } } static String traceToString(StackTraceElement[] trace) -- GitLab