From 8cb10d96627a8e4a8ebc1276d6ed77316d64ab9a Mon Sep 17 00:00:00 2001
From: Patrick Simpson
Date: Tue, 29 May 2018 13:25:13 +0300
Subject: [PATCH] [KOE-171] Added syncid to folder logging
---
.../AcaciaZPushPlugin/Stubs/IBase.cs | 1 +
.../Stubs/OutlookWrappers/FolderWrapper.cs | 19 ++++++++++++
.../Stubs/OutlookWrappers/OutlookWrapper.cs | 5 ++++
.../AcaciaZPushPlugin/ZPush/ZPushFolder.cs | 30 +++++++++----------
4 files changed, 40 insertions(+), 15 deletions(-)
diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/IBase.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/IBase.cs
index d02c6a6..aca2d30 100644
--- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/IBase.cs
+++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/IBase.cs
@@ -36,6 +36,7 @@ namespace Acacia.Stubs
#region Ids and hierarchy
+ string LogKey { get; }
string EntryID { get; }
IFolder Parent { get; }
string ParentEntryID { get; }
diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/OutlookWrappers/FolderWrapper.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/OutlookWrappers/FolderWrapper.cs
index 9e3984d..d75e821 100644
--- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/OutlookWrappers/FolderWrapper.cs
+++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/OutlookWrappers/FolderWrapper.cs
@@ -133,6 +133,25 @@ namespace Acacia.Stubs.OutlookWrappers
}
}
+ public override string LogKey
+ {
+ get
+ {
+ string s = EntryID;
+ try
+ {
+ s += ":" + SyncId;
+ }
+ catch (Exception) { }
+ try
+ {
+ s += ":" + Name;
+ }
+ catch (Exception) { }
+ return s;
+ }
+ }
+
override public string EntryID { get { return _item.EntryID; } }
override public IStore GetStore() { return Mapping.Wrap(_item.Store); }
diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/OutlookWrappers/OutlookWrapper.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/OutlookWrappers/OutlookWrapper.cs
index ae5bb3c..a02c0bd 100644
--- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/OutlookWrappers/OutlookWrapper.cs
+++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/OutlookWrappers/OutlookWrapper.cs
@@ -82,6 +82,11 @@ namespace Acacia.Stubs.OutlookWrappers
}
}
+ virtual public string LogKey
+ {
+ get { return EntryID; }
+ }
+
abstract public string EntryID
{
get;
diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushFolder.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushFolder.cs
index f45cc70..eeeb66f 100644
--- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushFolder.cs
+++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushFolder.cs
@@ -48,7 +48,7 @@ namespace Acacia.ZPush
private ZPushFolder(ZPushWatcher watcher, ZPushFolder parent, IFolder folder)
{
- Logger.Instance.Trace(this, "Watching folder: {1}: {0}", folder.EntryID, folder.Name);
+ Logger.Instance.Trace(this, "Watching folder: {0}", folder.LogKey);
this._parent = parent;
this._watcher = watcher;
this._folder = folder;
@@ -68,7 +68,7 @@ namespace Acacia.ZPush
public override string ToString()
{
- return Name;
+ return _folder.LogKey;
}
public IFolder Folder { get { return _folder; } }
@@ -152,17 +152,17 @@ namespace Acacia.ZPush
{
try
{
- Logger.Instance.Debug(this, "Folder added in {0}: {1}", Name, folder.Name);
+ Logger.Instance.Debug(this, "Folder added in {0}: {1}", _folder.LogKey, folder.LogKey);
WatchChild(folder, false);
}
- catch (System.Exception e) { Logger.Instance.Error(this, "Exception in SubFolders_FolderAdd: {0}: {1}", Name, e); }
+ catch (System.Exception e) { Logger.Instance.Error(this, "Exception in SubFolders_FolderAdd: {0}: {1}", _folder.LogKey, e); }
}
private void SubFolders_FolderRemove()
{
try
{
- Logger.Instance.Debug(this, "Folder removed from {0}", Name);
+ Logger.Instance.Debug(this, "Folder removed from {0}", _folder.LogKey);
// Helpfully, Outlook doesn't tell us which folder was removed. Could use the BeforeFolderMove event instead,
// but that doesn't fire if a folder was removed on the server.
@@ -193,20 +193,20 @@ namespace Acacia.ZPush
// Actually remove the folders
foreach (var entry in remove)
{
- Logger.Instance.Debug(this, "Removing subfolder {0}, {1}", Name, entry.Key);
+ Logger.Instance.Debug(this, "Removing subfolder {0}, {1}", _folder.LogKey, entry.Key);
_watcher.OnFolderRemoved(entry.Value);
_children.Remove(entry.Key);
entry.Value.Cleanup();
}
}
- catch (System.Exception e) { Logger.Instance.Error(this, "Exception in SubFolders_FolderRemove: {0}: {1}", Name, e); }
+ catch (System.Exception e) { Logger.Instance.Error(this, "Exception in SubFolders_FolderRemove: {0}: {1}", _folder.LogKey, e); }
}
private void SubFolders_FolderChange(IFolder folder)
{
try
{
- Logger.Instance.Debug(this, "Folder changed in {0}: {1}", Name, folder.Name);
+ Logger.Instance.Debug(this, "Folder changed in {0}: {1}", _folder.LogKey, folder.LogKey);
ZPushFolder child;
if (_children.TryGetValue(folder.EntryID, out child))
{
@@ -217,24 +217,24 @@ namespace Acacia.ZPush
// On a clean profile, we sometimes get a change notification, but not an add notification
// Create it now
// This will send a discover notification if required, which is just as good as a change notification
- Logger.Instance.Debug(this, "Folder change on unreported folder in {0}: {1}, {2}, {3}", Name, folder.Name, folder.EntryID, folder.StoreDisplayName);
+ Logger.Instance.Debug(this, "Folder change on unreported folder in {0}: {1}, {2}", _folder.LogKey, folder.LogKey, folder.StoreDisplayName);
WatchChild(folder, false);
}
}
- catch (System.Exception e) { Logger.Instance.Error(this, "Exception in SubFolders_FolderChange: {0}: {1}", Name, e); }
+ catch (System.Exception e) { Logger.Instance.Error(this, "Exception in SubFolders_FolderChange: {0}: {1}", _folder.LogKey, e); }
}
private void Items_ItemAdd(IItem item)
{
try
{
- Logger.Instance.Trace(this, "New item {0}: {1}", Name, item.EntryID);
+ Logger.Instance.Trace(this, "New item {0}: {1}", _folder.LogKey, item.EntryID);
foreach (ItemsWatcher watcher in _itemsWatchers)
watcher.OnItemAdd(this, item);
}
catch (System.Exception e)
{
- Logger.Instance.Trace(this, "ItemAdd exception: {0}: {1}", Name, e);
+ Logger.Instance.Trace(this, "ItemAdd exception: {0}: {1}", _folder.LogKey, e);
}
}
@@ -248,7 +248,7 @@ namespace Acacia.ZPush
}
catch (System.Exception e)
{
- Logger.Instance.Trace(this, "ItemChange exception: {0}: {1}", Name, e);
+ Logger.Instance.Trace(this, "ItemChange exception: {0}: {1}", _folder.LogKey, e);
}
}
@@ -278,7 +278,7 @@ namespace Acacia.ZPush
{
if (_watcher.ShouldFolderBeWatched(this, child))
{
- Logger.Instance.Trace(this, "Registering child on {0}: {1}", this, child.FullFolderPath);
+ Logger.Instance.Trace(this, "Registering child on {0}: {1}", _folder.LogKey, child.FullFolderPath);
// Make sure we register the entry id actually before registering any listeners.
// That will cause change notifications, which require the entryid to be registered.
@@ -290,7 +290,7 @@ namespace Acacia.ZPush
}
else
{
- Logger.Instance.Trace(this, "Excluding child on {0}: {1}", this, child.FullFolderPath);
+ Logger.Instance.Trace(this, "Excluding child on {0}: {1}", _folder.LogKey, child.FullFolderPath);
}
}