From 1b205f08f1a97003bdd95c07ae2c2fd7f251ed1a Mon Sep 17 00:00:00 2001 From: manojmalik20 Date: Mon, 2 May 2022 10:29:42 +0000 Subject: [PATCH] Improved logging in the app to figure out the cause of the error --- PresenceProvider/Mattermost/Client.cs | 9 ++++----- PresenceProvider/Mattermost/Store.cs | 14 ++++++++++++-- .../OtherInterfaces/IMClientContact.cs | 6 ++---- .../OtherInterfaces/IMClientContactManager.cs | 3 +-- .../OutLookPresenceProvider.csproj | 1 + PresenceProvider/PresenceProvider.cs | 3 +-- PresenceProvider/Utils.cs | 19 +++++++++++++++++++ 7 files changed, 40 insertions(+), 15 deletions(-) create mode 100644 PresenceProvider/Utils.cs diff --git a/PresenceProvider/Mattermost/Client.cs b/PresenceProvider/Mattermost/Client.cs index 8cd7340..130714d 100644 --- a/PresenceProvider/Mattermost/Client.cs +++ b/PresenceProvider/Mattermost/Client.cs @@ -90,8 +90,7 @@ private void InitializeStore() } } catch (Exception ex) { - Trace.TraceError(ex.Message); - Trace.TraceError(ex.StackTrace); + Utils.LogException(ex); } } @@ -109,7 +108,7 @@ private void InitializeWebsocketClientInNewThread() } catch (Exception ex) { - Trace.TraceError("ERROR: " + ex.ToString()); + Utils.LogException(ex); } } @@ -135,7 +134,7 @@ private void InitializeWebsocketClient() Trace.TraceInformation("Disconnection happened, type: " + info.Type); if (info.Type == DisconnectionType.Error || info.Type == DisconnectionType.ByServer) { - throw new Exception("Error in connecting to websocket server."); + Trace.TraceError($"Error in connecting to the websocket server: {info.Type}"); } }); @@ -165,7 +164,7 @@ private string GetValueFromConfig(string key) return configNode[key].GetValue(); } catch (Exception ex) { - Trace.TraceError(ex.Message); + Utils.LogException(ex); return string.Empty; } } diff --git a/PresenceProvider/Mattermost/Store.cs b/PresenceProvider/Mattermost/Store.cs index 2850f33..cf2977d 100644 --- a/PresenceProvider/Mattermost/Store.cs +++ b/PresenceProvider/Mattermost/Store.cs @@ -1,4 +1,6 @@ -using System.Collections.Generic; +using System; +using System.Diagnostics; +using System.Collections.Generic; using UCCollaborationLib; namespace OutlookPresenceProvider.Mattermost @@ -18,7 +20,15 @@ public void Add(string email, string status) public ContactAvailability GetAvailability(string email) { - return Constants.StatusAvailabilityMap(_store[email]); + try + { + Trace.TraceInformation($"Returning availability of user: {email} from the store."); + return Constants.StatusAvailabilityMap(_store[email]); + } catch (Exception ex) + { + Utils.LogException(ex); + return ContactAvailability.ucAvailabilityOffline; + } } public bool Remove(string email) diff --git a/PresenceProvider/OtherInterfaces/IMClientContact.cs b/PresenceProvider/OtherInterfaces/IMClientContact.cs index d267189..3a53909 100644 --- a/PresenceProvider/OtherInterfaces/IMClientContact.cs +++ b/PresenceProvider/OtherInterfaces/IMClientContact.cs @@ -107,8 +107,7 @@ public object GetContactInformation(ContactInformationType _contactInformationTy } } catch (Exception ex) { - Trace.TraceError(ex.Message); - Trace.TraceError(ex.StackTrace); + Utils.LogException(ex); return null; } } @@ -176,8 +175,7 @@ public void RaiseOnContactInformationChangedEvent(ContactInformationChangedEvent handler(this, _eventData); } catch (Exception ex) { - Trace.TraceError(ex.Message); - Trace.TraceError(ex.StackTrace); + Utils.LogException(ex); } } } diff --git a/PresenceProvider/OtherInterfaces/IMClientContactManager.cs b/PresenceProvider/OtherInterfaces/IMClientContactManager.cs index 647eb88..2bf68e4 100644 --- a/PresenceProvider/OtherInterfaces/IMClientContactManager.cs +++ b/PresenceProvider/OtherInterfaces/IMClientContactManager.cs @@ -84,8 +84,7 @@ public AsynchronousOperation Lookup(string _lookupString, object _contactsAndGro callback.OnLookup(this, null, asyncOperation); } catch (Exception ex) { - Trace.TraceError(ex.Message); - Trace.TraceError(ex.StackTrace); + Utils.LogException(ex); } return asyncOperation; } diff --git a/PresenceProvider/OutLookPresenceProvider.csproj b/PresenceProvider/OutLookPresenceProvider.csproj index 3099300..35c9c1f 100644 --- a/PresenceProvider/OutLookPresenceProvider.csproj +++ b/PresenceProvider/OutLookPresenceProvider.csproj @@ -113,6 +113,7 @@ + diff --git a/PresenceProvider/PresenceProvider.cs b/PresenceProvider/PresenceProvider.cs index e12f040..1e30beb 100644 --- a/PresenceProvider/PresenceProvider.cs +++ b/PresenceProvider/PresenceProvider.cs @@ -34,8 +34,7 @@ public static void Register(Type t) } catch (Exception ex) { - Trace.TraceError(ex.Message); // Log the error - Trace.TraceError(ex.StackTrace); + Utils.LogException(ex); throw ex; // Re-throw the exception } } diff --git a/PresenceProvider/Utils.cs b/PresenceProvider/Utils.cs new file mode 100644 index 0000000..a0ffd6e --- /dev/null +++ b/PresenceProvider/Utils.cs @@ -0,0 +1,19 @@ +using System; +using System.Diagnostics; + +namespace OutlookPresenceProvider +{ + public class Utils + { + public static void LogException(Exception ex) + { + if (ex == null) + { + return; + } + + Trace.TraceError(ex.Message); + Trace.TraceError(ex.StackTrace); + } + } +}