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