FELIX-4402 minor logging improvements

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1602641 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/helper/BaseMethod.java b/scr/src/main/java/org/apache/felix/scr/impl/helper/BaseMethod.java
index 6d9ee8c..1f11aad 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/helper/BaseMethod.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/helper/BaseMethod.java
@@ -221,23 +221,23 @@
     private MethodResult invokeMethod( final Object componentInstance, final Object rawParameter, SimpleLogger logger )
         throws InvocationTargetException
     {
-        logger.log( LogService.LOG_DEBUG, "invoking {0}: {1}", new Object[]
-            { getMethodNamePrefix(), getMethodName() }, null );
         try
         {
             if ( componentInstance != null )
             {
                 final Object[] params = getParameters(m_method, rawParameter);
+                logger.log( LogService.LOG_DEBUG, "invoking {0}: {1}: parameters {2}", new Object[]
+                        { getMethodNamePrefix(), getMethodName(), Arrays.asList( params ) }, null );
                 Object result = m_method.invoke(componentInstance, params);
-                logger.log( LogService.LOG_DEBUG, "invoked {0}: {1}: parameters {2}", new Object[]
-                    { getMethodNamePrefix(), getMethodName(), Arrays.asList( params ) }, null );
+                logger.log( LogService.LOG_DEBUG, "invoked {0}: {1}", new Object[]
+                    { getMethodNamePrefix(), getMethodName() }, null );
                 return new MethodResult((m_method.getReturnType() != Void.TYPE), (Map) result);
             }
             else
             {
-                logger.log( LogService.LOG_WARNING, "Method {0} cannot be called on null object",
+                logger.log( LogService.LOG_WARNING, "Method {0}: {1} cannot be called on null object",
                     new Object[]
-                        { getMethodName() }, null );
+                        { getMethodNamePrefix(), getMethodName() }, null );
             }
         }
         catch ( IllegalStateException ise )
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java b/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java
index d602bc6..e5ae3a1 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java
@@ -54,6 +54,7 @@
 import org.apache.felix.scr.impl.metadata.ServiceMetadata.Scope;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceException;
 import org.osgi.framework.ServicePermission;
 import org.osgi.framework.ServiceReference;
 import org.osgi.framework.ServiceRegistration;
@@ -997,9 +998,16 @@
                 return null;
             }
             final Dictionary<String, Object> serviceProperties = getServiceProperties();
-            ServiceRegistration<S> serviceRegistration = ( ServiceRegistration<S> ) bundleContext
-                    .registerService( services, getService(), serviceProperties );
-            return serviceRegistration;
+            try {
+				ServiceRegistration<S> serviceRegistration = (ServiceRegistration<S>) bundleContext
+						.registerService(services, getService(),
+								serviceProperties);
+				return serviceRegistration;
+			} catch (ServiceException e) {
+				log(LogService.LOG_ERROR, "Unexpected error registering component service with properties {0}", 
+						new Object[] {serviceProperties}, e);
+				return null;
+			}
         }
 
         @Override