error log, SYNCOPE-158

Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/24a91259
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/24a91259
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/24a91259

Branch: refs/heads/master
Commit: 24a9125914f66f31827dffe34351cfca20288eb8
Parents: d29be2a
Author: massi <massimiliano.perr...@tirasa.net>
Authored: Fri Oct 30 15:57:40 2015 +0100
Committer: massi <massimiliano.perr...@tirasa.net>
Committed: Fri Oct 30 15:57:40 2015 +0100

----------------------------------------------------------------------
 .../apache/syncope/client/cli/SyncopeAdm.java   |  4 +-
 .../configuration/ConfigurationDelete.java      |  5 ++
 .../configuration/ConfigurationExport.java      |  8 +++
 .../configuration/ConfigurationGet.java         |  5 ++
 .../configuration/ConfigurationRead.java        |  5 ++
 .../configuration/ConfigurationUpdate.java      |  6 ++
 .../cli/commands/connector/ConnectorDelete.java |  6 ++
 .../commands/connector/ConnectorDetails.java    | 74 +++++++++++---------
 .../cli/commands/connector/ConnectorList.java   |  5 ++
 .../connector/ConnectorListBundles.java         |  5 ++
 .../ConnectorListConfigurationProperties.java   |  6 ++
 .../cli/commands/connector/ConnectorRead.java   |  6 ++
 .../connector/ConnectorReadByResource.java      |  5 ++
 .../cli/commands/domain/DomainDelete.java       |  5 ++
 .../cli/commands/domain/DomainDetails.java      |  5 ++
 .../client/cli/commands/domain/DomainList.java  |  5 ++
 .../client/cli/commands/domain/DomainRead.java  |  5 ++
 .../entitlement/EntitlementListRole.java        |  6 ++
 .../entitlement/EntitlementReadByUserId.java    |  6 ++
 .../entitlement/EntitlementReadByUsername.java  |  6 ++
 .../entitlement/EntitlementSearchByRole.java    |  6 ++
 .../syncope/client/cli/commands/help/Help.java  |  5 ++
 .../syncope/client/cli/commands/info/Info.java  | 26 +++++++
 .../cli/commands/install/InstallCommand.java    |  5 ++
 .../cli/commands/install/InstallSetup.java      |  6 ++
 .../cli/commands/logger/LoggerCreate.java       |  5 ++
 .../cli/commands/logger/LoggerDelete.java       |  5 ++
 .../cli/commands/logger/LoggerDetails.java      |  5 ++
 .../client/cli/commands/logger/LoggerList.java  |  5 ++
 .../client/cli/commands/logger/LoggerRead.java  |  5 ++
 .../cli/commands/logger/LoggerUpdate.java       |  5 ++
 .../cli/commands/logger/LoggerUpdateAll.java    |  5 ++
 .../notification/NotificationDelete.java        |  5 ++
 .../commands/notification/NotificationList.java |  5 ++
 .../commands/notification/NotificationRead.java |  6 ++
 .../cli/commands/policy/PolicyDelete.java       |  6 ++
 .../cli/commands/policy/PolicyDetails.java      |  5 ++
 .../client/cli/commands/policy/PolicyList.java  |  6 ++
 .../client/cli/commands/policy/PolicyRead.java  |  6 ++
 .../cli/commands/question/QuestionDelete.java   |  6 ++
 .../cli/commands/question/QuestionList.java     |  5 ++
 .../cli/commands/question/QuestionRead.java     |  6 ++
 .../client/cli/commands/realm/RealmDetails.java |  5 ++
 .../client/cli/commands/realm/RealmList.java    |  5 ++
 .../cli/commands/report/ReportDelete.java       |  6 ++
 .../commands/report/ReportDeleteExecution.java  |  6 ++
 .../cli/commands/report/ReportDetails.java      |  5 ++
 .../cli/commands/report/ReportExecute.java      |  6 ++
 .../commands/report/ReportExportExecution.java  |  8 +++
 .../client/cli/commands/report/ReportList.java  |  5 ++
 .../cli/commands/report/ReportListJobs.java     |  5 ++
 .../client/cli/commands/report/ReportRead.java  |  6 ++
 .../commands/report/ReportReadExecution.java    |  6 ++
 .../cli/commands/resource/ResourceDelete.java   |  7 ++
 .../cli/commands/resource/ResourceDetails.java  |  5 ++
 .../cli/commands/resource/ResourceList.java     |  5 ++
 .../cli/commands/resource/ResourceRead.java     |  7 ++
 .../client/cli/commands/role/RoleDelete.java    |  6 ++
 .../client/cli/commands/role/RoleDetails.java   |  5 ++
 .../client/cli/commands/role/RoleList.java      |  5 ++
 .../client/cli/commands/role/RoleRead.java      |  6 ++
 .../cli/commands/schema/SchemaDelete.java       |  6 ++
 .../cli/commands/schema/SchemaDetails.java      |  5 ++
 .../client/cli/commands/schema/SchemaList.java  |  6 ++
 .../cli/commands/schema/SchemaListAll.java      |  5 ++
 .../cli/commands/schema/SchemaListDerived.java  |  5 ++
 .../cli/commands/schema/SchemaListPlain.java    |  5 ++
 .../cli/commands/schema/SchemaListVirtual.java  |  5 ++
 .../client/cli/commands/schema/SchemaRead.java  |  6 ++
 .../commands/self/AbstractWorkflowCommand.java  |  2 +-
 .../commands/self/WorkflowExportDefinition.java |  6 ++
 .../client/cli/commands/task/TaskDelete.java    |  6 ++
 .../client/cli/commands/task/TaskDetails.java   |  6 ++
 .../client/cli/commands/task/TaskExecute.java   |  6 ++
 .../cli/commands/task/TaskExecutionDelete.java  |  6 ++
 .../cli/commands/task/TaskExecutionRead.java    |  6 ++
 .../client/cli/commands/task/TaskList.java      |  6 ++
 .../cli/commands/task/TaskListRunningJobs.java  |  5 ++
 .../commands/task/TaskListScheduledJobs.java    |  5 ++
 .../client/cli/commands/task/TaskRead.java      |  6 ++
 .../client/cli/commands/user/UserDelete.java    |  6 ++
 .../client/cli/commands/user/UserDetails.java   |  5 ++
 .../client/cli/commands/user/UserGetKey.java    |  5 ++
 .../cli/commands/user/UserGetUsername.java      |  5 ++
 .../client/cli/commands/user/UserList.java      |  5 ++
 .../client/cli/commands/user/UserRead.java      |  6 ++
 .../commands/user/UserSearchByAttribute.java    |  6 ++
 .../cli/commands/user/UserSearchByResource.java |  5 ++
 .../cli/commands/user/UserSearchByRole.java     |  5 ++
 89 files changed, 543 insertions(+), 34 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/SyncopeAdm.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/SyncopeAdm.java 
b/client/cli/src/main/java/org/apache/syncope/client/cli/SyncopeAdm.java
index 8b6150a..7f09c68 100644
--- a/client/cli/src/main/java/org/apache/syncope/client/cli/SyncopeAdm.java
+++ b/client/cli/src/main/java/org/apache/syncope/client/cli/SyncopeAdm.java
@@ -27,7 +27,7 @@ import org.slf4j.LoggerFactory;
 public final class SyncopeAdm {
 
     private static final Logger LOG = 
LoggerFactory.getLogger(SyncopeAdm.class);
-    
+
     private static final ResultManager RESULT_MANAGER = new ResultManager();
 
     public static void main(final String[] args) {
@@ -55,6 +55,7 @@ public final class SyncopeAdm {
                 System.out.println(helpMessage());
             }
         } catch (final ProcessingException e) {
+            LOG.error("Error in main", e);
             RESULT_MANAGER.genericError("Syncope server offline");
             RESULT_MANAGER.genericError(e.getCause().getMessage());
         }
@@ -74,6 +75,7 @@ public final class SyncopeAdm {
                 helpMessageBuilder.append("\n");
             }
         } catch (final IllegalAccessException | IllegalArgumentException | 
InstantiationException ex) {
+            LOG.error("Error in main", ex);
             RESULT_MANAGER.genericError(ex.getMessage());
         }
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationDelete.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationDelete.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationDelete.java
index 79b679b..423139b 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationDelete.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationDelete.java
@@ -21,9 +21,13 @@ package org.apache.syncope.client.cli.commands.configuration;
 import javax.xml.ws.WebServiceException;
 import org.apache.syncope.client.cli.Input;
 import org.apache.syncope.common.lib.SyncopeClientException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class ConfigurationDelete extends AbstractConfigurationCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(ConfigurationDelete.class);
+
     private static final String DELETE_HELP_MESSAGE = "configuration --delete 
{CONF-NAME} {CONF-NAME} [...]";
 
     private final Input input;
@@ -39,6 +43,7 @@ public class ConfigurationDelete extends 
AbstractConfigurationCommand {
                     configurationSyncopeOperations.delete(parameter);
                     configurationResultManager.deletedMessage("Configuration", 
parameter);
                 } catch (final SyncopeClientException | WebServiceException 
ex) {
+                    LOG.error("Error deleting configuration", ex);
                     if (ex.getMessage().startsWith("NotFound")) {
                         
configurationResultManager.notFoundError("Configuration", parameter);
                     } else if 
(ex.getMessage().startsWith("DataIntegrityViolation")) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationExport.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationExport.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationExport.java
index 2eaeb75..880f1f7 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationExport.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationExport.java
@@ -27,10 +27,14 @@ import javax.xml.transform.TransformerException;
 import org.apache.syncope.client.cli.Input;
 import org.apache.syncope.client.cli.util.XMLUtils;
 import org.apache.syncope.common.lib.SyncopeClientException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.xml.sax.SAXException;
 
 public class ConfigurationExport extends AbstractConfigurationCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(ConfigurationExport.class);
+
     private static final String EXPORT_HELP_MESSAGE = "configuration --export 
{WHERE-DIR}";
 
     private static final String EXPORT_FILE_NAME = "/content.xml";
@@ -50,11 +54,14 @@ public class ConfigurationExport extends 
AbstractConfigurationCommand {
                 configurationResultManager.genericMessage(
                         input.firstParameter() + EXPORT_FILE_NAME + " 
successfully created");
             } catch (final IOException ex) {
+                LOG.error("Error exporting configuration", ex);
                 configurationResultManager.genericError(ex.getMessage());
             } catch (ParserConfigurationException | SAXException | 
TransformerConfigurationException ex) {
+                LOG.error("Error exporting configuration", ex);
                 configurationResultManager.genericError(
                         "Error creating " + input.firstParameter() + 
EXPORT_FILE_NAME + " " + ex.getMessage());
             } catch (final TransformerException ex) {
+                LOG.error("Error exporting configuration", ex);
                 if (ex.getCause() instanceof FileNotFoundException) {
                     configurationResultManager.genericError("Permission denied 
on " + input.firstParameter());
                 } else {
@@ -62,6 +69,7 @@ public class ConfigurationExport extends 
AbstractConfigurationCommand {
                             "Error creating " + input.firstParameter() + 
EXPORT_FILE_NAME + " " + ex.getMessage());
                 }
             } catch (final SyncopeClientException ex) {
+                LOG.error("Error exporting configuration", ex);
                 configurationResultManager.genericError("Error calling 
configuration service " + ex.getMessage());
             }
         } else {

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationGet.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationGet.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationGet.java
index f0b7682..300cd17 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationGet.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationGet.java
@@ -20,9 +20,13 @@ package org.apache.syncope.client.cli.commands.configuration;
 
 import java.util.LinkedList;
 import org.apache.syncope.client.cli.Input;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class ConfigurationGet extends AbstractConfigurationCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(ConfigurationGet.class);
+
     private static final String GET_HELP_MESSAGE = "configuration --get";
 
     private final Input input;
@@ -36,6 +40,7 @@ public class ConfigurationGet extends 
AbstractConfigurationCommand {
             try {
                 configurationResultManager.fromGet(new 
LinkedList<>(configurationSyncopeOperations.list()));
             } catch (final Exception ex) {
+                LOG.error("Error getting configuration", ex);
                 configurationResultManager.genericError(ex.getMessage());
             }
         } else {

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationRead.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationRead.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationRead.java
index e315f33..0ad21c7 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationRead.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationRead.java
@@ -23,9 +23,13 @@ import javax.xml.ws.WebServiceException;
 import org.apache.syncope.client.cli.Input;
 import org.apache.syncope.common.lib.SyncopeClientException;
 import org.apache.syncope.common.lib.to.AttrTO;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class ConfigurationRead extends AbstractConfigurationCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(ConfigurationRead.class);
+
     private static final String READ_HELP_MESSAGE = "configuration --read 
{CONF-NAME} {CONF-NAME} [...]";
 
     private final Input input;
@@ -42,6 +46,7 @@ public class ConfigurationRead extends 
AbstractConfigurationCommand {
                 try {
                     
attrList.add(configurationSyncopeOperations.get(parameter));
                 } catch (final SyncopeClientException | WebServiceException 
ex) {
+                    LOG.error("Error reading configuration", ex);
                     if (ex.getMessage().startsWith("NotFound")) {
                         
configurationResultManager.notFoundError("Configuration", parameter);
                     } else {

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationUpdate.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationUpdate.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationUpdate.java
index e3aff4e..4ec152c 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationUpdate.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationUpdate.java
@@ -23,9 +23,13 @@ import javax.xml.ws.WebServiceException;
 import org.apache.syncope.client.cli.Input;
 import org.apache.syncope.common.lib.SyncopeClientException;
 import org.apache.syncope.common.lib.to.AttrTO;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class ConfigurationUpdate extends AbstractConfigurationCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(ConfigurationUpdate.class);
+
     private static final String UPDATE_HELP_MESSAGE
             = "configuration --update {CONF-NAME}={CONF-VALUE} 
{CONF-NAME}={CONF-VALUE} [...]";
 
@@ -50,11 +54,13 @@ public class ConfigurationUpdate extends 
AbstractConfigurationCommand {
                     configurationSyncopeOperations.set(attrTO);
                     attrList.add(attrTO);
                 } catch (final IllegalArgumentException ex) {
+                    LOG.error("Error updating configuration", ex);
                     configurationResultManager.genericError(ex.getMessage());
                     
configurationResultManager.genericError(UPDATE_HELP_MESSAGE);
                     failed = true;
                     break;
                 } catch (final SyncopeClientException | WebServiceException 
ex) {
+                    LOG.error("Error updating configuration", ex);
                     if (ex.getMessage().startsWith("NotFound")) {
                         
configurationResultManager.notFoundError("Configuration", 
pairParameter.getKey());
                     } else if (ex.getMessage().startsWith("InvalidValues")) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorDelete.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorDelete.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorDelete.java
index 1454d28..2abc5ba 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorDelete.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorDelete.java
@@ -24,9 +24,13 @@ import javax.xml.ws.WebServiceException;
 import org.apache.syncope.client.cli.Input;
 import org.apache.syncope.common.lib.SyncopeClientException;
 import org.apache.syncope.common.lib.to.ConnInstanceTO;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class ConnectorDelete extends AbstractConnectorCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(ConnectorDelete.class);
+
     private static final String DELETE_HELP_MESSAGE = "connector --delete 
{CONNECTOR-ID} {CONNECTOR-ID} [...]";
 
     private final Input input;
@@ -45,7 +49,9 @@ public class ConnectorDelete extends AbstractConnectorCommand 
{
                 } catch (final NumberFormatException ex) {
                     connectorResultManager.numberFormatException("connector", 
parameter);
                 } catch (final SyncopeClientException | WebServiceException 
ex) {
+                    LOG.error("Error deleting connector", ex);
                     if (ex.getMessage().startsWith("NotFound")) {
+                        LOG.error("Error deleting connector", ex);
                         connectorResultManager.notFoundError("Connector", 
parameter);
                     } else {
                         connectorResultManager.genericError(ex.getMessage());

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorDetails.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorDetails.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorDetails.java
index deb43ef..dee5e7a 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorDetails.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorDetails.java
@@ -22,12 +22,17 @@ import java.util.List;
 import java.util.Map;
 import org.apache.commons.collections4.map.LinkedMap;
 import org.apache.syncope.client.cli.Input;
+import org.apache.syncope.common.lib.SyncopeClientException;
 import org.apache.syncope.common.lib.to.ConnInstanceTO;
 import org.apache.syncope.common.lib.types.ConnectorCapability;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class ConnectorDetails extends AbstractConnectorCommand {
 
-    private static final String LIST_HELP_MESSAGE = "connector --details";
+    private static final Logger LOG = 
LoggerFactory.getLogger(ConnectorDetails.class);
+
+    private static final String DETAILS_HELP_MESSAGE = "connector --details";
 
     private final Input input;
 
@@ -37,40 +42,45 @@ public class ConnectorDetails extends 
AbstractConnectorCommand {
 
     public void details() {
         if (input.parameterNumber() == 0) {
-            final Map<String, String> details = new LinkedMap<>();
-            final List<ConnInstanceTO> connInstanceTOs = 
connectorSyncopeOperations.list();
-            int withCreateCapability = 0;
-            int withDeleteCapability = 0;
-            int withSearchCapability = 0;
-            int withSyncCapability = 0;
-            int withUpdateCapability = 0;
-            for (final ConnInstanceTO connInstanceTO : connInstanceTOs) {
-                if 
(connInstanceTO.getCapabilities().contains(ConnectorCapability.CREATE)) {
-                    withCreateCapability++;
-                }
-                if 
(connInstanceTO.getCapabilities().contains(ConnectorCapability.DELETE)) {
-                    withDeleteCapability++;
-                }
-                if 
(connInstanceTO.getCapabilities().contains(ConnectorCapability.SEARCH)) {
-                    withSearchCapability++;
-                }
-                if 
(connInstanceTO.getCapabilities().contains(ConnectorCapability.SYNC)) {
-                    withSyncCapability++;
-                }
-                if 
(connInstanceTO.getCapabilities().contains(ConnectorCapability.UPDATE)) {
-                    withUpdateCapability++;
+            try {
+                final Map<String, String> details = new LinkedMap<>();
+                final List<ConnInstanceTO> connInstanceTOs = 
connectorSyncopeOperations.list();
+                int withCreateCapability = 0;
+                int withDeleteCapability = 0;
+                int withSearchCapability = 0;
+                int withSyncCapability = 0;
+                int withUpdateCapability = 0;
+                for (final ConnInstanceTO connInstanceTO : connInstanceTOs) {
+                    if 
(connInstanceTO.getCapabilities().contains(ConnectorCapability.CREATE)) {
+                        withCreateCapability++;
+                    }
+                    if 
(connInstanceTO.getCapabilities().contains(ConnectorCapability.DELETE)) {
+                        withDeleteCapability++;
+                    }
+                    if 
(connInstanceTO.getCapabilities().contains(ConnectorCapability.SEARCH)) {
+                        withSearchCapability++;
+                    }
+                    if 
(connInstanceTO.getCapabilities().contains(ConnectorCapability.SYNC)) {
+                        withSyncCapability++;
+                    }
+                    if 
(connInstanceTO.getCapabilities().contains(ConnectorCapability.UPDATE)) {
+                        withUpdateCapability++;
+                    }
                 }
+                details.put("Total number", 
String.valueOf(connInstanceTOs.size()));
+                details.put("With create capability", 
String.valueOf(withCreateCapability));
+                details.put("With delete capability", 
String.valueOf(withDeleteCapability));
+                details.put("With search capability", 
String.valueOf(withSearchCapability));
+                details.put("With sync capability", 
String.valueOf(withSyncCapability));
+                details.put("With update capability", 
String.valueOf(withUpdateCapability));
+                details.put("Bundles number", 
String.valueOf(connectorSyncopeOperations.getBundles().size()));
+                connectorResultManager.printDetails(details);
+            } catch (final SyncopeClientException ex) {
+                LOG.error("Error reading details about connector", ex);
+                connectorResultManager.genericError(ex.getMessage());
             }
-            details.put("Total number", 
String.valueOf(connInstanceTOs.size()));
-            details.put("With create capability", 
String.valueOf(withCreateCapability));
-            details.put("With delete capability", 
String.valueOf(withDeleteCapability));
-            details.put("With search capability", 
String.valueOf(withSearchCapability));
-            details.put("With sync capability", 
String.valueOf(withSyncCapability));
-            details.put("With update capability", 
String.valueOf(withUpdateCapability));
-            details.put("Bundles number", 
String.valueOf(connectorSyncopeOperations.getBundles().size()));
-            connectorResultManager.printDetails(details);
         } else {
-            
connectorResultManager.unnecessaryParameters(input.listParameters(), 
LIST_HELP_MESSAGE);
+            
connectorResultManager.unnecessaryParameters(input.listParameters(), 
DETAILS_HELP_MESSAGE);
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorList.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorList.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorList.java
index 1c86bbb..19d81a4 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorList.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorList.java
@@ -20,9 +20,13 @@ package org.apache.syncope.client.cli.commands.connector;
 
 import org.apache.syncope.client.cli.Input;
 import org.apache.syncope.common.lib.SyncopeClientException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class ConnectorList extends AbstractConnectorCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(ConnectorList.class);
+
     private static final String LIST_HELP_MESSAGE = "connector --list";
 
     private final Input input;
@@ -36,6 +40,7 @@ public class ConnectorList extends AbstractConnectorCommand {
             try {
                 
connectorResultManager.printConnectors(connectorSyncopeOperations.list());
             } catch (final SyncopeClientException ex) {
+                LOG.error("Error listening connector", ex);
                 connectorResultManager.genericError(ex.getMessage());
             }
         } else {

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorListBundles.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorListBundles.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorListBundles.java
index 293fa13..1327120 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorListBundles.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorListBundles.java
@@ -20,9 +20,13 @@ package org.apache.syncope.client.cli.commands.connector;
 
 import org.apache.syncope.client.cli.Input;
 import org.apache.syncope.common.lib.SyncopeClientException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class ConnectorListBundles extends AbstractConnectorCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(ConnectorListBundles.class);
+
     private static final String LIST_HELP_MESSAGE = "connector --list-bundles";
 
     private final Input input;
@@ -36,6 +40,7 @@ public class ConnectorListBundles extends 
AbstractConnectorCommand {
             try {
                 
connectorResultManager.printBundles(connectorSyncopeOperations.getBundles());
             } catch (final SyncopeClientException ex) {
+                LOG.error("Error listening connector", ex);
                 connectorResultManager.genericError(ex.getMessage());
             }
         } else {

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorListConfigurationProperties.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorListConfigurationProperties.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorListConfigurationProperties.java
index 5f5197c..da54e4a 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorListConfigurationProperties.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorListConfigurationProperties.java
@@ -21,9 +21,13 @@ package org.apache.syncope.client.cli.commands.connector;
 import javax.xml.ws.WebServiceException;
 import org.apache.syncope.client.cli.Input;
 import org.apache.syncope.common.lib.SyncopeClientException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class ConnectorListConfigurationProperties extends 
AbstractConnectorCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(ConnectorListConfigurationProperties.class);
+
     private static final String LIST_CONFIGURATION_HELP_MESSAGE
             = "connector --list-configuration-properties {CONNECTOR-ID} 
{CONNECTOR-ID} [...]";
 
@@ -40,8 +44,10 @@ public class ConnectorListConfigurationProperties extends 
AbstractConnectorComma
                     connectorResultManager.printConfigurationProperties(
                             
connectorSyncopeOperations.read(parameter).getConf());
                 } catch (final NumberFormatException ex) {
+                    LOG.error("Error listening connector", ex);
                     connectorResultManager.numberFormatException("connector", 
parameter);
                 } catch (final SyncopeClientException | WebServiceException 
ex) {
+                    LOG.error("Error listening connector", ex);
                     if (ex.getMessage().startsWith("NotFound")) {
                         connectorResultManager.notFoundError("Connector", 
parameter);
                     } else {

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorRead.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorRead.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorRead.java
index dc29d74..c332505 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorRead.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorRead.java
@@ -21,9 +21,13 @@ package org.apache.syncope.client.cli.commands.connector;
 import javax.xml.ws.WebServiceException;
 import org.apache.syncope.client.cli.Input;
 import org.apache.syncope.common.lib.SyncopeClientException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class ConnectorRead extends AbstractConnectorCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(ConnectorRead.class);
+
     private static final String READ_HELP_MESSAGE = "connector --read 
{CONNECTOR-ID} {CONNECTOR-ID} [...]";
 
     private final Input input;
@@ -38,8 +42,10 @@ public class ConnectorRead extends AbstractConnectorCommand {
                 try {
                     
connectorResultManager.printConnector(connectorSyncopeOperations.read(parameter));
                 } catch (final NumberFormatException ex) {
+                    LOG.error("Error reading connector", ex);
                     connectorResultManager.numberFormatException("connector", 
parameter);
                 } catch (final SyncopeClientException | WebServiceException 
ex) {
+                    LOG.error("Error reading connector", ex);
                     if (ex.getMessage().startsWith("NotFound")) {
                         connectorResultManager.notFoundError("Connector", 
parameter);
                     } else {

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorReadByResource.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorReadByResource.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorReadByResource.java
index cc8bbac..1dba6f1 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorReadByResource.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorReadByResource.java
@@ -21,9 +21,13 @@ package org.apache.syncope.client.cli.commands.connector;
 import javax.xml.ws.WebServiceException;
 import org.apache.syncope.client.cli.Input;
 import org.apache.syncope.common.lib.SyncopeClientException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class ConnectorReadByResource extends AbstractConnectorCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(ConnectorReadByResource.class);
+
     private static final String READ_HELP_MESSAGE
             = "connector --read-by-resource {RESOURCE-NAME} {RESOURCE-NAME} 
[...]";
 
@@ -39,6 +43,7 @@ public class ConnectorReadByResource extends 
AbstractConnectorCommand {
                 try {
                     
connectorResultManager.printConnector(connectorSyncopeOperations.readByResource(parameter));
                 } catch (final SyncopeClientException | WebServiceException 
ex) {
+                    LOG.error("Error reading connector", ex);
                     if (ex.getMessage().startsWith("NotFound")) {
                         connectorResultManager.notFoundError("Resource", 
parameter);
                     } else {

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/domain/DomainDelete.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/domain/DomainDelete.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/domain/DomainDelete.java
index 06e733a..d666301 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/domain/DomainDelete.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/domain/DomainDelete.java
@@ -20,9 +20,13 @@ package org.apache.syncope.client.cli.commands.domain;
 
 import org.apache.syncope.client.cli.Input;
 import org.apache.syncope.common.lib.SyncopeClientException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class DomainDelete extends AbstractDomainCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(DomainDelete.class);
+
     private static final String DELETE_HELP_MESSAGE = "domain --delete 
{DOMAIN-NAME} {DOMAIN-NAME} [...]";
 
     private final Input input;
@@ -38,6 +42,7 @@ public class DomainDelete extends AbstractDomainCommand {
                     domainSyncopeOperations.delete(parameter);
                     domainResultManager.deletedMessage("Domain", parameter);
                 } catch (final SyncopeClientException ex) {
+                    LOG.error("Error deleting domain", ex);
                     if (ex.getMessage().startsWith("NotFound")) {
                         domainResultManager.notFoundError("Domain", parameter);
                     } else {

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/domain/DomainDetails.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/domain/DomainDetails.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/domain/DomainDetails.java
index a4808bb..9e280d8 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/domain/DomainDetails.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/domain/DomainDetails.java
@@ -22,9 +22,13 @@ import java.util.Map;
 import org.apache.commons.collections4.map.LinkedMap;
 import org.apache.syncope.client.cli.Input;
 import org.apache.syncope.common.lib.SyncopeClientException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class DomainDetails extends AbstractDomainCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(DomainDetails.class);
+
     private static final String LIST_HELP_MESSAGE = "domain --details";
 
     private final Input input;
@@ -40,6 +44,7 @@ public class DomainDetails extends AbstractDomainCommand {
                 details.put("Total number", 
String.valueOf(domainSyncopeOperations.list().size()));
                 domainResultManager.printDetails(details);
             } catch (final SyncopeClientException ex) {
+                LOG.error("Error reading details about domain", ex);
                 domainResultManager.genericError(ex.getMessage());
             }
         } else {

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/domain/DomainList.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/domain/DomainList.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/domain/DomainList.java
index 12958b6..aa4a0f8 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/domain/DomainList.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/domain/DomainList.java
@@ -20,9 +20,13 @@ package org.apache.syncope.client.cli.commands.domain;
 
 import org.apache.syncope.client.cli.Input;
 import org.apache.syncope.common.lib.SyncopeClientException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class DomainList extends AbstractDomainCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(DomainList.class);
+
     private static final String LIST_HELP_MESSAGE = "domain --list";
 
     private final Input input;
@@ -36,6 +40,7 @@ public class DomainList extends AbstractDomainCommand {
             try {
                 
domainResultManager.printDomains(domainSyncopeOperations.list());
             } catch (final SyncopeClientException ex) {
+                LOG.error("Error listing domain", ex);
                 domainResultManager.genericError(ex.getMessage());
             }
         } else {

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/domain/DomainRead.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/domain/DomainRead.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/domain/DomainRead.java
index 94989ff..015bf06 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/domain/DomainRead.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/domain/DomainRead.java
@@ -20,9 +20,13 @@ package org.apache.syncope.client.cli.commands.domain;
 
 import org.apache.syncope.client.cli.Input;
 import org.apache.syncope.common.lib.SyncopeClientException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class DomainRead extends AbstractDomainCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(DomainRead.class);
+
     private static final String READ_HELP_MESSAGE = "domain --read 
{DOMAIN-NAME} {DOMAIN-NAME} [...]";
 
     private final Input input;
@@ -37,6 +41,7 @@ public class DomainRead extends AbstractDomainCommand {
                 try {
                     
domainResultManager.printDomain(domainSyncopeOperations.read(parameter));
                 } catch (final SyncopeClientException ex) {
+                    LOG.error("Error reading domain", ex);
                     if (ex.getMessage().startsWith("NotFound")) {
                         domainResultManager.notFoundError("Domain", parameter);
                     } else {

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementListRole.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementListRole.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementListRole.java
index 0b4144e..575208f 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementListRole.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementListRole.java
@@ -23,9 +23,13 @@ import javax.xml.ws.WebServiceException;
 import org.apache.syncope.client.cli.Input;
 import org.apache.syncope.common.lib.SyncopeClientException;
 import org.apache.syncope.common.lib.to.RoleTO;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class EntitlementListRole extends AbstractEntitlementCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(EntitlementListRole.class);
+
     private static final String READ_HELP_MESSAGE = "entitlement --list-role 
{ENTITLEMENT-NAME}";
 
     private final Input input;
@@ -46,12 +50,14 @@ public class EntitlementListRole extends 
AbstractEntitlementCommand {
                     entitlementResultManager.genericMessage("No roles found 
for entitlement " + input.firstParameter());
                 }
             } catch (final SyncopeClientException | WebServiceException ex) {
+                LOG.error("Error reading entitlement", ex);
                 if (ex.getMessage().startsWith("NotFound")) {
                     entitlementResultManager.notFoundError("User", 
input.firstParameter());
                 } else {
                     entitlementResultManager.genericError(ex.getMessage());
                 }
             } catch (final NumberFormatException ex) {
+                LOG.error("Error reading entitlement", ex);
                 entitlementResultManager.numberFormatException("user", 
input.firstParameter());
             }
         } else {

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementReadByUserId.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementReadByUserId.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementReadByUserId.java
index 3cd41cb..51bc602 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementReadByUserId.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementReadByUserId.java
@@ -21,9 +21,13 @@ package org.apache.syncope.client.cli.commands.entitlement;
 import javax.xml.ws.WebServiceException;
 import org.apache.syncope.client.cli.Input;
 import org.apache.syncope.common.lib.SyncopeClientException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class EntitlementReadByUserId extends AbstractEntitlementCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(EntitlementReadByUserId.class);
+
     private static final String READ_HELP_MESSAGE = "entitlement 
--read-by-userid {USER-ID}";
 
     private final Input input;
@@ -38,12 +42,14 @@ public class EntitlementReadByUserId extends 
AbstractEntitlementCommand {
                 entitlementResultManager.toView(
                         
entitlementSyncopeOperations.userIdEntitlements(input.firstParameter()));
             } catch (final SyncopeClientException | WebServiceException ex) {
+                LOG.error("Error reading entitlement", ex);
                 if (ex.getMessage().startsWith("NotFound")) {
                     entitlementResultManager.notFoundError("User", 
input.firstParameter());
                 } else {
                     entitlementResultManager.genericError(ex.getMessage());
                 }
             } catch (final NumberFormatException ex) {
+                LOG.error("Error reading entitlement", ex);
                 entitlementResultManager.numberFormatException("user", 
input.firstParameter());
             }
         } else {

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementReadByUsername.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementReadByUsername.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementReadByUsername.java
index 40a73fc..8e77d7e 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementReadByUsername.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementReadByUsername.java
@@ -21,9 +21,13 @@ package org.apache.syncope.client.cli.commands.entitlement;
 import javax.xml.ws.WebServiceException;
 import org.apache.syncope.client.cli.Input;
 import org.apache.syncope.common.lib.SyncopeClientException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class EntitlementReadByUsername extends AbstractEntitlementCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(EntitlementReadByUsername.class);
+
     private static final String READ_HELP_MESSAGE = "entitlement 
--read-by-username {USERNAME}";
 
     private final Input input;
@@ -39,11 +43,13 @@ public class EntitlementReadByUsername extends 
AbstractEntitlementCommand {
                         
entitlementSyncopeOperations.usernameEntitlements(input.firstParameter()));
             } catch (final SyncopeClientException | WebServiceException ex) {
                 if (ex.getMessage().startsWith("NotFound")) {
+                    LOG.error("Error reading username", ex);
                     entitlementResultManager.notFoundError("User", 
input.firstParameter());
                 } else {
                     entitlementResultManager.genericError(ex.getMessage());
                 }
             } catch (final NumberFormatException ex) {
+                LOG.error("Error reading username", ex);
                 entitlementResultManager.numberFormatException("user", 
input.firstParameter());
             }
         } else {

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementSearchByRole.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementSearchByRole.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementSearchByRole.java
index 91f9828..fec995c 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementSearchByRole.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementSearchByRole.java
@@ -21,9 +21,13 @@ package org.apache.syncope.client.cli.commands.entitlement;
 import javax.xml.ws.WebServiceException;
 import org.apache.syncope.client.cli.Input;
 import org.apache.syncope.common.lib.SyncopeClientException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class EntitlementSearchByRole extends AbstractEntitlementCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(EntitlementSearchByRole.class);
+
     private static final String READ_HELP_MESSAGE = "entitlement 
--search-by-role {ROLE-ID}";
 
     private final Input input;
@@ -38,12 +42,14 @@ public class EntitlementSearchByRole extends 
AbstractEntitlementCommand {
                 entitlementResultManager.toView(
                         
entitlementSyncopeOperations.entitlementsPerRole(input.firstParameter()));
             } catch (final SyncopeClientException | WebServiceException ex) {
+                LOG.error("Error searching entitlement", ex);
                 if (ex.getMessage().startsWith("NotFound")) {
                     entitlementResultManager.notFoundError("User", 
input.firstParameter());
                 } else {
                     entitlementResultManager.genericError(ex.getMessage());
                 }
             } catch (final NumberFormatException ex) {
+                LOG.error("Error searching entitlement", ex);
                 entitlementResultManager.numberFormatException("user", 
input.firstParameter());
             }
         } else {

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/help/Help.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/help/Help.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/help/Help.java
index 0492a26..41f908b 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/help/Help.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/help/Help.java
@@ -21,9 +21,13 @@ package org.apache.syncope.client.cli.commands.help;
 import org.apache.syncope.client.cli.Command;
 import org.apache.syncope.client.cli.commands.AbstractCommand;
 import org.apache.syncope.client.cli.util.CommandUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class Help {
 
+    private static final Logger LOG = LoggerFactory.getLogger(Help.class);
+
     private final HelpResultManager helpResultManager = new 
HelpResultManager();
 
     public void help() {
@@ -39,6 +43,7 @@ public class Help {
             }
             helpResultManager.toView(generalHelpBuilder.toString());
         } catch (final IllegalAccessException | IllegalArgumentException | 
InstantiationException e) {
+            LOG.error("Error helping", e);
             helpResultManager.genericMessage(e.getMessage());
         }
     }

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/info/Info.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/info/Info.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/info/Info.java
index 4fa0163..a1f6956 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/info/Info.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/info/Info.java
@@ -21,9 +21,13 @@ package org.apache.syncope.client.cli.commands.info;
 import org.apache.syncope.client.cli.SyncopeServices;
 import org.apache.syncope.common.lib.to.SyncopeTO;
 import org.apache.syncope.common.rest.api.service.SyncopeService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class Info {
 
+    private static final Logger LOG = LoggerFactory.getLogger(Info.class);
+
     private final SyncopeTO syncopeTO = 
SyncopeServices.get(SyncopeService.class).info();
 
     private final InfoResultManager infoResultManager = new 
InfoResultManager();
@@ -32,6 +36,7 @@ public class Info {
         try {
             infoResultManager.printVersion(syncopeTO.getVersion());
         } catch (final Exception ex) {
+            LOG.error("Information error", ex);
             infoResultManager.genericError(ex.getMessage());
         }
     }
@@ -40,6 +45,7 @@ public class Info {
         try {
             
infoResultManager.printPwdResetAllowed(syncopeTO.isPwdResetAllowed());
         } catch (final Exception ex) {
+            LOG.error("Information error", ex);
             infoResultManager.genericError(ex.getMessage());
         }
     }
@@ -48,6 +54,7 @@ public class Info {
         try {
             
infoResultManager.printPwdResetRequiringSecurityQuestions(syncopeTO.isPwdResetRequiringSecurityQuestions());
         } catch (final Exception ex) {
+            LOG.error("Information error", ex);
             infoResultManager.genericError(ex.getMessage());
         }
     }
@@ -56,6 +63,7 @@ public class Info {
         try {
             
infoResultManager.printSelfRegistrationAllowed(syncopeTO.isSelfRegAllowed());
         } catch (final Exception ex) {
+            LOG.error("Information error", ex);
             infoResultManager.genericError(ex.getMessage());
         }
     }
@@ -67,6 +75,7 @@ public class Info {
                     syncopeTO.getUserProvisioningManager(),
                     syncopeTO.getGroupProvisioningManager());
         } catch (final Exception ex) {
+            LOG.error("Information error", ex);
             infoResultManager.genericError(ex.getMessage());
         }
     }
@@ -78,6 +87,7 @@ public class Info {
                     syncopeTO.getUserWorkflowAdapter(),
                     syncopeTO.getGroupWorkflowAdapter());
         } catch (final Exception ex) {
+            LOG.error("Information error", ex);
             infoResultManager.genericError(ex.getMessage());
         }
     }
@@ -86,6 +96,7 @@ public class Info {
         try {
             infoResultManager.printAccountRules(syncopeTO.getAccountRules());
         } catch (final Exception ex) {
+            LOG.error("Information error", ex);
             infoResultManager.genericError(ex.getMessage());
         }
     }
@@ -94,6 +105,7 @@ public class Info {
         try {
             
infoResultManager.printConnidLocations(syncopeTO.getConnIdLocations());
         } catch (final Exception ex) {
+            LOG.error("Information error", ex);
             infoResultManager.genericError(ex.getMessage());
         }
     }
@@ -102,6 +114,7 @@ public class Info {
         try {
             infoResultManager.printLogicActions(syncopeTO.getLogicActions());
         } catch (final Exception ex) {
+            LOG.error("Information error", ex);
             infoResultManager.genericError(ex.getMessage());
         }
     }
@@ -110,6 +123,7 @@ public class Info {
         try {
             infoResultManager.printMailTemplates(syncopeTO.getMailTemplates());
         } catch (final Exception ex) {
+            LOG.error("Information error", ex);
             infoResultManager.genericError(ex.getMessage());
         }
     }
@@ -118,6 +132,7 @@ public class Info {
         try {
             
infoResultManager.printMappingItemTransformers(syncopeTO.getMappingItemTransformers());
         } catch (final Exception ex) {
+            LOG.error("Information error", ex);
             infoResultManager.genericError(ex.getMessage());
         }
     }
@@ -126,6 +141,7 @@ public class Info {
         try {
             infoResultManager.printPasswordRules(syncopeTO.getPasswordRules());
         } catch (final Exception ex) {
+            LOG.error("Information error", ex);
             infoResultManager.genericError(ex.getMessage());
         }
     }
@@ -134,6 +150,7 @@ public class Info {
         try {
             
infoResultManager.printPropagationActions(syncopeTO.getPropagationActions());
         } catch (final Exception ex) {
+            LOG.error("Information error", ex);
             infoResultManager.genericError(ex.getMessage());
         }
     }
@@ -142,6 +159,7 @@ public class Info {
         try {
             infoResultManager.printPushActions(syncopeTO.getPushActions());
         } catch (final Exception ex) {
+            LOG.error("Information error", ex);
             infoResultManager.genericError(ex.getMessage());
         }
     }
@@ -150,6 +168,7 @@ public class Info {
         try {
             
infoResultManager.printCorrelationActions(syncopeTO.getPushCorrelationRules());
         } catch (final Exception ex) {
+            LOG.error("Information error", ex);
             infoResultManager.genericError(ex.getMessage());
         }
     }
@@ -158,6 +177,7 @@ public class Info {
         try {
             infoResultManager.printReportlets(syncopeTO.getReportlets());
         } catch (final Exception ex) {
+            LOG.error("Information error", ex);
             infoResultManager.genericError(ex.getMessage());
         }
     }
@@ -166,6 +186,7 @@ public class Info {
         try {
             infoResultManager.printSyncActions(syncopeTO.getSyncActions());
         } catch (final Exception ex) {
+            LOG.error("Information error", ex);
             infoResultManager.genericError(ex.getMessage());
         }
     }
@@ -174,6 +195,7 @@ public class Info {
         try {
             
infoResultManager.printCorrelationRules(syncopeTO.getSyncCorrelationRules());
         } catch (final Exception ex) {
+            LOG.error("Information error", ex);
             infoResultManager.genericError(ex.getMessage());
         }
     }
@@ -182,6 +204,7 @@ public class Info {
         try {
             infoResultManager.printJobs(syncopeTO.getTaskJobs());
         } catch (final Exception ex) {
+            LOG.error("Information error", ex);
             infoResultManager.genericError(ex.getMessage());
         }
     }
@@ -190,6 +213,7 @@ public class Info {
         try {
             infoResultManager.printValidators(syncopeTO.getValidators());
         } catch (final Exception ex) {
+            LOG.error("Information error", ex);
             infoResultManager.genericError(ex.getMessage());
         }
     }
@@ -198,6 +222,7 @@ public class Info {
         try {
             
infoResultManager.printPasswordGenerator(syncopeTO.getPasswordGenerator());
         } catch (final Exception ex) {
+            LOG.error("Information error", ex);
             infoResultManager.genericError(ex.getMessage());
         }
     }
@@ -206,6 +231,7 @@ public class Info {
         try {
             
infoResultManager.printVirtualAttributeCacheClass(syncopeTO.getVirAttrCache());
         } catch (final Exception ex) {
+            LOG.error("Information error", ex);
             infoResultManager.genericError(ex.getMessage());
         }
     }

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/install/InstallCommand.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/install/InstallCommand.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/install/InstallCommand.java
index 18e3a68..7c12f3b 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/install/InstallCommand.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/install/InstallCommand.java
@@ -23,10 +23,14 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.syncope.client.cli.Command;
 import org.apache.syncope.client.cli.Input;
 import org.apache.syncope.client.cli.commands.AbstractCommand;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 @Command(name = "install")
 public class InstallCommand extends AbstractCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(InstallCommand.class);
+
     private final InstallResultManager installResultManager = new 
InstallResultManager();
 
     private static final String HELP_MESSAGE = "\nUsage: install [options]\n"
@@ -45,6 +49,7 @@ public class InstallCommand extends AbstractCommand {
                 try {
                     new InstallSetup().setup();
                 } catch (final FileNotFoundException | IllegalAccessException 
ex) {
+                    LOG.error("Error installing CLI", ex);
                     installResultManager.genericError(ex.getMessage());
                     break;
                 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/install/InstallSetup.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/install/InstallSetup.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/install/InstallSetup.java
index 7e1eaec..003540e 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/install/InstallSetup.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/install/InstallSetup.java
@@ -27,9 +27,13 @@ import org.apache.syncope.client.cli.SyncopeServices;
 import org.apache.syncope.client.cli.util.FileSystemUtils;
 import org.apache.syncope.client.cli.util.JasyptUtils;
 import org.apache.syncope.common.rest.api.service.SyncopeService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class InstallSetup {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(InstallSetup.class);
+
     private final InstallResultManager installResultManager = new 
InstallResultManager();
 
     private String syncopeAdminUser;
@@ -167,8 +171,10 @@ public class InstallSetup {
             final SyncopeService syncopeService = 
SyncopeServices.get(SyncopeService.class);
             
installResultManager.installationSuccessful(syncopeService.info().getVersion());
         } catch (final ProcessingException ex) {
+            LOG.error("Error installing CLI", ex);
             installResultManager.manageProcessingException(ex);
         } catch (final Exception e) {
+            LOG.error("Error installing CLI", e);
             installResultManager.manageException(e);
         }
     }

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerCreate.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerCreate.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerCreate.java
index 2216295..1ba755e 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerCreate.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerCreate.java
@@ -25,9 +25,13 @@ import org.apache.syncope.client.cli.util.CommandUtils;
 import org.apache.syncope.common.lib.SyncopeClientException;
 import org.apache.syncope.common.lib.to.LoggerTO;
 import org.apache.syncope.common.lib.types.LoggerLevel;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class LoggerCreate extends AbstractLoggerCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(LoggerCreate.class);
+
     private static final String CREATE_HELP_MESSAGE
             = "logger --create {LOG-NAME}={LOG-LEVEL} {LOG-NAME}={LOG-LEVEL} 
[...]";
 
@@ -52,6 +56,7 @@ public class LoggerCreate extends AbstractLoggerCommand {
                     loggerSyncopeOperations.update(loggerTO);
                     loggerTOs.add(loggerTO);
                 } catch (final WebServiceException | SyncopeClientException | 
IllegalArgumentException ex) {
+                    LOG.error("Error creating logger", ex);
                     loggerResultManager.typeNotValidError(
                             "logger level", input.firstParameter(), 
CommandUtils.fromEnumToArray(LoggerLevel.class));
                     failed = true;

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerDelete.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerDelete.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerDelete.java
index 88c30c5..15038c3 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerDelete.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerDelete.java
@@ -21,9 +21,13 @@ package org.apache.syncope.client.cli.commands.logger;
 import javax.xml.ws.WebServiceException;
 import org.apache.syncope.client.cli.Input;
 import org.apache.syncope.common.lib.SyncopeClientException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class LoggerDelete extends AbstractLoggerCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(LoggerDelete.class);
+
     private static final String DELETE_HELP_MESSAGE = "logger --delete 
{LOG-NAME} {LOG-NAME} [...]";
 
     private final Input input;
@@ -39,6 +43,7 @@ public class LoggerDelete extends AbstractLoggerCommand {
                     loggerSyncopeOperations.delete(parameter);
                     loggerResultManager.deletedMessage("Logger", parameter);
                 } catch (final WebServiceException | SyncopeClientException 
ex) {
+                    LOG.error("Error deleting logger", ex);
                     if (ex.getMessage().startsWith("NotFound")) {
                         loggerResultManager.notFoundError("Logger", parameter);
                     } else {

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerDetails.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerDetails.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerDetails.java
index b86aeb9..f10e4ea 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerDetails.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerDetails.java
@@ -24,9 +24,13 @@ import org.apache.commons.collections4.map.LinkedMap;
 import org.apache.syncope.client.cli.Input;
 import org.apache.syncope.common.lib.SyncopeClientException;
 import org.apache.syncope.common.lib.to.LoggerTO;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class LoggerDetails extends AbstractLoggerCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(LoggerDetails.class);
+
     private static final String LIST_HELP_MESSAGE = "logger --details";
 
     private final Input input;
@@ -84,6 +88,7 @@ public class LoggerDetails extends AbstractLoggerCommand {
                 details.put("Set to WARN", String.valueOf(warnLevel));
                 loggerResultManager.printDetails(details);
             } catch (final SyncopeClientException ex) {
+                LOG.error("Error reading details about logger", ex);
                 loggerResultManager.genericError(ex.getMessage());
             }
         } else {

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerList.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerList.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerList.java
index 6a4bfec..6f936fb 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerList.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerList.java
@@ -21,9 +21,13 @@ package org.apache.syncope.client.cli.commands.logger;
 import java.util.LinkedList;
 import org.apache.syncope.client.cli.Input;
 import org.apache.syncope.common.lib.SyncopeClientException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class LoggerList extends AbstractLoggerCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(LoggerList.class);
+
     private static final String LIST_HELP_MESSAGE = "logger --list";
 
     private final Input input;
@@ -37,6 +41,7 @@ public class LoggerList extends AbstractLoggerCommand {
             try {
                 loggerResultManager.fromList(new 
LinkedList<>(loggerSyncopeOperations.list()));
             } catch (final SyncopeClientException ex) {
+                LOG.error("Error listing logger", ex);
                 loggerResultManager.genericError(ex.getMessage());
             }
         } else {

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerRead.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerRead.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerRead.java
index 321e257..6346522 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerRead.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerRead.java
@@ -23,9 +23,13 @@ import javax.xml.ws.WebServiceException;
 import org.apache.syncope.client.cli.Input;
 import org.apache.syncope.common.lib.SyncopeClientException;
 import org.apache.syncope.common.lib.to.LoggerTO;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class LoggerRead extends AbstractLoggerCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(LoggerRead.class);
+
     private static final String READ_HELP_MESSAGE = "logger --read {LOG-NAME} 
{LOG-NAME} [...]";
 
     private final Input input;
@@ -42,6 +46,7 @@ public class LoggerRead extends AbstractLoggerCommand {
                 try {
                     loggerTOs.add(loggerSyncopeOperations.read(parameter));
                 } catch (final SyncopeClientException | WebServiceException 
ex) {
+                    LOG.error("Error reading logger", ex);
                     if (ex.getMessage().startsWith("NotFound")) {
                         loggerResultManager.notFoundError("Logger", parameter);
                     } else {

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerUpdate.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerUpdate.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerUpdate.java
index 6f118e9..590d5e2 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerUpdate.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerUpdate.java
@@ -25,9 +25,13 @@ import org.apache.syncope.client.cli.util.CommandUtils;
 import org.apache.syncope.common.lib.SyncopeClientException;
 import org.apache.syncope.common.lib.to.LoggerTO;
 import org.apache.syncope.common.lib.types.LoggerLevel;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class LoggerUpdate extends AbstractLoggerCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(LoggerUpdate.class);
+
     private static final String UPDATE_HELP_MESSAGE
             = "logger --update {LOG-NAME}={LOG-LEVEL} {LOG-NAME}={LOG-LEVEL} 
[...]";
 
@@ -51,6 +55,7 @@ public class LoggerUpdate extends AbstractLoggerCommand {
                     loggerSyncopeOperations.update(loggerTO);
                     loggerTOs.add(loggerTO);
                 } catch (final WebServiceException | SyncopeClientException | 
IllegalArgumentException ex) {
+                    LOG.error("Error updating logger", ex);
                     if (ex.getMessage().startsWith("No enum constant 
org.apache.syncope.common.lib.types.")) {
                         loggerResultManager.typeNotValidError(
                                 "logger level",

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerUpdateAll.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerUpdateAll.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerUpdateAll.java
index 981b2aa..69f28fe 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerUpdateAll.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerUpdateAll.java
@@ -25,9 +25,13 @@ import org.apache.syncope.client.cli.util.CommandUtils;
 import org.apache.syncope.common.lib.SyncopeClientException;
 import org.apache.syncope.common.lib.to.LoggerTO;
 import org.apache.syncope.common.lib.types.LoggerLevel;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class LoggerUpdateAll extends AbstractLoggerCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(LoggerUpdateAll.class);
+
     private static final String UPDATE_ALL_HELP_MESSAGE = "logger --update-all 
{LOG-LEVEL}";
 
     private final Input input;
@@ -46,6 +50,7 @@ public class LoggerUpdateAll extends AbstractLoggerCommand {
                     loggerSyncopeOperations.update(loggerTO);
                     loggerTOs.add(loggerTO);
                 } catch (final WebServiceException | SyncopeClientException | 
IllegalArgumentException ex) {
+                    LOG.error("Error updating logger", ex);
                     if (ex.getMessage().startsWith("No enum constant 
org.apache.syncope.common.lib.types.")) {
                         loggerResultManager.typeNotValidError(
                                 "logger level",

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/notification/NotificationDelete.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/notification/NotificationDelete.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/notification/NotificationDelete.java
index 4690d24..0909ff9 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/notification/NotificationDelete.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/notification/NotificationDelete.java
@@ -21,9 +21,13 @@ package org.apache.syncope.client.cli.commands.notification;
 import javax.xml.ws.WebServiceException;
 import org.apache.syncope.client.cli.Input;
 import org.apache.syncope.common.lib.SyncopeClientException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class NotificationDelete extends AbstractNotificationCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(NotificationDelete.class);
+
     private static final String DELETE_HELP_MESSAGE = "notification --delete 
{NOTIFICATION-ID} {NOTIFICATION-ID} [...]";
 
     private final Input input;
@@ -39,6 +43,7 @@ public class NotificationDelete extends 
AbstractNotificationCommand {
                     notificationSyncopeOperations.delete(parameter);
                     notificationResultManager.deletedMessage("Notification", 
parameter);
                 } catch (final WebServiceException | SyncopeClientException 
ex) {
+                    LOG.error("Error deleting notification", ex);
                     if (ex.getMessage().startsWith("NotFound")) {
                         
notificationResultManager.notFoundError("Notification", parameter);
                     } else {

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/notification/NotificationList.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/notification/NotificationList.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/notification/NotificationList.java
index 365c02b..463d8e9 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/notification/NotificationList.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/notification/NotificationList.java
@@ -20,9 +20,13 @@ package org.apache.syncope.client.cli.commands.notification;
 
 import org.apache.syncope.client.cli.Input;
 import org.apache.syncope.common.lib.SyncopeClientException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class NotificationList extends AbstractNotificationCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(NotificationList.class);
+
     private static final String LIST_HELP_MESSAGE = "notification --list";
 
     private final Input input;
@@ -36,6 +40,7 @@ public class NotificationList extends 
AbstractNotificationCommand {
             try {
                 
notificationResultManager.printNotifications(notificationSyncopeOperations.list());
             } catch (final SyncopeClientException ex) {
+                LOG.error("Error listing notification", ex);
                 notificationResultManager.genericError(ex.getMessage());
             }
         } else {

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/notification/NotificationRead.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/notification/NotificationRead.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/notification/NotificationRead.java
index efd2d7c..7c45e86 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/notification/NotificationRead.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/notification/NotificationRead.java
@@ -21,9 +21,13 @@ package org.apache.syncope.client.cli.commands.notification;
 import javax.xml.ws.WebServiceException;
 import org.apache.syncope.client.cli.Input;
 import org.apache.syncope.common.lib.SyncopeClientException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class NotificationRead extends AbstractNotificationCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(NotificationRead.class);
+
     private static final String READ_HELP_MESSAGE = "notification --read 
{NOTIFICATION-ID} {NOTIFICATION-ID} [...]";
 
     private final Input input;
@@ -38,8 +42,10 @@ public class NotificationRead extends 
AbstractNotificationCommand {
                 try {
                     
notificationResultManager.printNotification(notificationSyncopeOperations.read(parameter));
                 } catch (final NumberFormatException ex) {
+                    LOG.error("Error reading notification", ex);
                     
notificationResultManager.notBooleanDeletedError("notification", parameter);
                 } catch (final WebServiceException | SyncopeClientException 
ex) {
+                    LOG.error("Error reading notification", ex);
                     if (ex.getMessage().startsWith("NotFound")) {
                         
notificationResultManager.notFoundError("Notification", parameter);
                     } else {

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyDelete.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyDelete.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyDelete.java
index 5dde82b..b73b770 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyDelete.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyDelete.java
@@ -21,9 +21,13 @@ package org.apache.syncope.client.cli.commands.policy;
 import javax.xml.ws.WebServiceException;
 import org.apache.syncope.client.cli.Input;
 import org.apache.syncope.common.lib.SyncopeClientException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class PolicyDelete extends AbstractPolicyCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(PolicyDelete.class);
+
     private static final String DELETE_HELP_MESSAGE = "policy --delete 
{POLICY-ID} {POLICY-ID} [...]";
 
     private final Input input;
@@ -39,6 +43,7 @@ public class PolicyDelete extends AbstractPolicyCommand {
                     policySyncopeOperations.delete(parameter);
                     policyResultManager.deletedMessage("Policy", parameter);
                 } catch (final WebServiceException | SyncopeClientException 
ex) {
+                    LOG.error("Error deleting policy", ex);
                     if (ex.getMessage().startsWith("NotFound")) {
                         policyResultManager.notFoundError("Policy", parameter);
                     } else if 
(ex.getMessage().startsWith("DataIntegrityViolation")) {
@@ -47,6 +52,7 @@ public class PolicyDelete extends AbstractPolicyCommand {
                         policyResultManager.genericError(ex.getMessage());
                     }
                 } catch (final NumberFormatException ex) {
+                    LOG.error("Error deleting policy", ex);
                     policyResultManager.notBooleanDeletedError("policy", 
parameter);
                 }
             }

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyDetails.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyDetails.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyDetails.java
index 946fb4e..bb4fdb6 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyDetails.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyDetails.java
@@ -22,9 +22,13 @@ import java.util.Map;
 import org.apache.commons.collections4.map.LinkedMap;
 import org.apache.syncope.client.cli.Input;
 import org.apache.syncope.common.lib.types.PolicyType;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class PolicyDetails extends AbstractPolicyCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(PolicyDetails.class);
+
     private static final String DETAILS_HELP_MESSAGE = "policy --details";
 
     private final Input input;
@@ -51,6 +55,7 @@ public class PolicyDetails extends AbstractPolicyCommand {
                 details.put("push policies", String.valueOf(pushPolicySize));
                 policyResultManager.printDetails(details);
             } catch (final Exception ex) {
+                LOG.error("Error reading details about policy", ex);
                 policyResultManager.genericError(ex.getMessage());
             }
         } else {

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyList.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyList.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyList.java
index b21a580..9720abf 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyList.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyList.java
@@ -24,9 +24,13 @@ import org.apache.syncope.client.cli.util.CommandUtils;
 import org.apache.syncope.common.lib.SyncopeClientException;
 import org.apache.syncope.common.lib.policy.AbstractPolicyTO;
 import org.apache.syncope.common.lib.types.PolicyType;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class PolicyList extends AbstractPolicyCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(PolicyList.class);
+
     private static final String LIST_HELP_MESSAGE = "policy --list-policy 
{POLICY-TYPE}\n"
             + "   Policy type: ACCOUNT / PASSWORD / SYNC / PUSH";
 
@@ -46,8 +50,10 @@ public class PolicyList extends AbstractPolicyCommand {
                 }
                 policyResultManager.printPoliciesByType(policyType, policyTOs);
             } catch (final SyncopeClientException ex) {
+                LOG.error("Error listing policy", ex);
                 policyResultManager.genericError(ex.getMessage());
             } catch (final IllegalArgumentException ex) {
+                LOG.error("Error listing policy", ex);
                 policyResultManager.typeNotValidError(
                         "policy", input.firstParameter(), 
CommandUtils.fromEnumToArray(PolicyType.class));
             }

http://git-wip-us.apache.org/repos/asf/syncope/blob/24a91259/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyRead.java
----------------------------------------------------------------------
diff --git 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyRead.java
 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyRead.java
index 54a58f9..2187492 100644
--- 
a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyRead.java
+++ 
b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyRead.java
@@ -23,9 +23,13 @@ import javax.xml.ws.WebServiceException;
 import org.apache.syncope.client.cli.Input;
 import org.apache.syncope.common.lib.SyncopeClientException;
 import org.apache.syncope.common.lib.policy.AbstractPolicyTO;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class PolicyRead extends AbstractPolicyCommand {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(PolicyRead.class);
+
     private static final String READ_HELP_MESSAGE = "policy --read {POLICY-ID} 
{POLICY-ID} [...]";
 
     private final Input input;
@@ -41,8 +45,10 @@ public class PolicyRead extends AbstractPolicyCommand {
                 try {
                     policyTOs.add(policySyncopeOperations.read(parameter));
                 } catch (final NumberFormatException ex) {
+                    LOG.error("Error reading policy", ex);
                     policyResultManager.notBooleanDeletedError("policy", 
parameter);
                 } catch (final WebServiceException | SyncopeClientException 
ex) {
+                    LOG.error("Error reading policy", ex);
                     if (ex.getMessage().startsWith("NotFound")) {
                         policyResultManager.notFoundError("Policy", parameter);
                     } else {

Reply via email to