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