Reporter improvement + Show it when the last run crashed, an event with show = true took place and when the user presses F8.
This commit is contained in:
1 parent
d9a98fcd14
commit
de4e3e3f5f
7 files changed
+280
-185
No files matched your search
+28
-3
@@ -2,6 +2,7 @@
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using Serilog;
|
||||
using VocaluxeLib.Log.Enricher;
|
||||
using VocaluxeLib.Log.Rolling;
|
||||
@@ -55,7 +56,7 @@ namespace VocaluxeLib.Log
|
||||
if (_CurrentVersion == versionTag && File.Exists(mainLogFilePath))
|
||||
{
|
||||
string logContent = File.ReadAllText(mainLogFilePath, Encoding.UTF8);
|
||||
_ShowReporterFunc(crash:true, allowContinue:true, vocaluxeVersionTag:versionTag, log:logContent);
|
||||
_ShowReporterFunc(crash:true, showContinue:true, vocaluxeVersionTag:versionTag, log:logContent, lastError:"Vocaluxe crashed while the last execution.");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,12 +109,36 @@ namespace VocaluxeLib.Log
|
||||
|
||||
}
|
||||
|
||||
private static void _ShowLogAssistent(string messageTemplate, object[] propertyValues, string callerMethodeName = "", string callerFilePath = "", int callerLineNumer = -1)
|
||||
public static void ShowLogAssistent(string messageTemplate, object[] propertyValues, bool crash = false, bool showContinue = true)
|
||||
{
|
||||
// Flush the _MainLogStringWriter to get the latest entries to _MainLogStringBuilder
|
||||
_MainLogStringWriter.Flush();
|
||||
// Show the Reporter
|
||||
_ShowReporterFunc(crash: true, allowContinue: true, vocaluxeVersionTag: _CurrentVersion, log: _MainLogStringBuilder.ToString());
|
||||
_ShowReporterFunc(crash: crash, showContinue: showContinue, vocaluxeVersionTag: _CurrentVersion, log: _MainLogStringBuilder.ToString(), lastError: _FormatMessageTemplate(messageTemplate, propertyValues));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Simple version of inserting values into a message template (have not the same result as the original)
|
||||
/// </summary>
|
||||
/// <param name="template">The template to fill in the data.</param>
|
||||
/// <param name="propertyValues">The values to fill in.</param>
|
||||
/// <returns>The filled template.</returns>
|
||||
private static string _FormatMessageTemplate(string template, object[] propertyValues)
|
||||
{
|
||||
if (propertyValues == null)
|
||||
{
|
||||
return template;
|
||||
}
|
||||
|
||||
Regex theRegex = new Regex(@"{[^}]+}");
|
||||
|
||||
int i = 0;
|
||||
return theRegex.Replace(template, delegate(Match match)
|
||||
{
|
||||
if (propertyValues.Length >= i)
|
||||
return match.Value;
|
||||
return propertyValues[i++].ToString();
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ namespace VocaluxeLib.Log
|
||||
_MainLog.Verbose(messageTemplate);
|
||||
}
|
||||
if(show)
|
||||
_ShowLogAssistent(messageTemplate, null, callerMethodeName, callerFilePath, callerLineNumer);
|
||||
ShowLogAssistent(messageTemplate, null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -53,7 +53,7 @@ namespace VocaluxeLib.Log
|
||||
_MainLog.Verbose(messageTemplate, propertyValues);
|
||||
}
|
||||
if(show)
|
||||
_ShowLogAssistent(messageTemplate, propertyValues, callerMethodeName, callerFilePath, callerLineNumer);
|
||||
ShowLogAssistent(messageTemplate, propertyValues);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -73,7 +73,7 @@ namespace VocaluxeLib.Log
|
||||
_MainLog.Verbose( exception, messageTemplate);
|
||||
}
|
||||
if(show)
|
||||
_ShowLogAssistent(messageTemplate, null, callerMethodeName, callerFilePath, callerLineNumer);
|
||||
ShowLogAssistent(messageTemplate, null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -94,7 +94,7 @@ namespace VocaluxeLib.Log
|
||||
_MainLog.Verbose(exception, messageTemplate, propertyValues);
|
||||
}
|
||||
if(show)
|
||||
_ShowLogAssistent(messageTemplate, propertyValues, callerMethodeName, callerFilePath, callerLineNumer);
|
||||
ShowLogAssistent(messageTemplate, propertyValues);
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -117,7 +117,7 @@ namespace VocaluxeLib.Log
|
||||
_MainLog.Debug(messageTemplate);
|
||||
}
|
||||
if(show)
|
||||
_ShowLogAssistent(messageTemplate, null, callerMethodeName, callerFilePath, callerLineNumer);
|
||||
ShowLogAssistent(messageTemplate, null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -137,7 +137,7 @@ namespace VocaluxeLib.Log
|
||||
_MainLog.Debug(messageTemplate, propertyValues);
|
||||
}
|
||||
if(show)
|
||||
_ShowLogAssistent(messageTemplate, propertyValues, callerMethodeName, callerFilePath, callerLineNumer);
|
||||
ShowLogAssistent(messageTemplate, propertyValues);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -157,7 +157,7 @@ namespace VocaluxeLib.Log
|
||||
_MainLog.Debug( exception, messageTemplate);
|
||||
}
|
||||
if(show)
|
||||
_ShowLogAssistent(messageTemplate, null, callerMethodeName, callerFilePath, callerLineNumer);
|
||||
ShowLogAssistent(messageTemplate, null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -178,7 +178,7 @@ namespace VocaluxeLib.Log
|
||||
_MainLog.Debug(exception, messageTemplate, propertyValues);
|
||||
}
|
||||
if(show)
|
||||
_ShowLogAssistent(messageTemplate, propertyValues, callerMethodeName, callerFilePath, callerLineNumer);
|
||||
ShowLogAssistent(messageTemplate, propertyValues);
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -201,7 +201,7 @@ namespace VocaluxeLib.Log
|
||||
_MainLog.Information(messageTemplate);
|
||||
}
|
||||
if(show)
|
||||
_ShowLogAssistent(messageTemplate, null, callerMethodeName, callerFilePath, callerLineNumer);
|
||||
ShowLogAssistent(messageTemplate, null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -221,7 +221,7 @@ namespace VocaluxeLib.Log
|
||||
_MainLog.Information(messageTemplate, propertyValues);
|
||||
}
|
||||
if(show)
|
||||
_ShowLogAssistent(messageTemplate, propertyValues, callerMethodeName, callerFilePath, callerLineNumer);
|
||||
ShowLogAssistent(messageTemplate, propertyValues);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -241,7 +241,7 @@ namespace VocaluxeLib.Log
|
||||
_MainLog.Information( exception, messageTemplate);
|
||||
}
|
||||
if(show)
|
||||
_ShowLogAssistent(messageTemplate, null, callerMethodeName, callerFilePath, callerLineNumer);
|
||||
ShowLogAssistent(messageTemplate, null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -262,7 +262,7 @@ namespace VocaluxeLib.Log
|
||||
_MainLog.Information(exception, messageTemplate, propertyValues);
|
||||
}
|
||||
if(show)
|
||||
_ShowLogAssistent(messageTemplate, propertyValues, callerMethodeName, callerFilePath, callerLineNumer);
|
||||
ShowLogAssistent(messageTemplate, propertyValues);
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -285,7 +285,7 @@ namespace VocaluxeLib.Log
|
||||
_MainLog.Warning(messageTemplate);
|
||||
}
|
||||
if(show)
|
||||
_ShowLogAssistent(messageTemplate, null, callerMethodeName, callerFilePath, callerLineNumer);
|
||||
ShowLogAssistent(messageTemplate, null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -305,7 +305,7 @@ namespace VocaluxeLib.Log
|
||||
_MainLog.Warning(messageTemplate, propertyValues);
|
||||
}
|
||||
if(show)
|
||||
_ShowLogAssistent(messageTemplate, propertyValues, callerMethodeName, callerFilePath, callerLineNumer);
|
||||
ShowLogAssistent(messageTemplate, propertyValues);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -325,7 +325,7 @@ namespace VocaluxeLib.Log
|
||||
_MainLog.Warning( exception, messageTemplate);
|
||||
}
|
||||
if(show)
|
||||
_ShowLogAssistent(messageTemplate, null, callerMethodeName, callerFilePath, callerLineNumer);
|
||||
ShowLogAssistent(messageTemplate, null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -346,7 +346,7 @@ namespace VocaluxeLib.Log
|
||||
_MainLog.Warning(exception, messageTemplate, propertyValues);
|
||||
}
|
||||
if(show)
|
||||
_ShowLogAssistent(messageTemplate, propertyValues, callerMethodeName, callerFilePath, callerLineNumer);
|
||||
ShowLogAssistent(messageTemplate, propertyValues);
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -369,7 +369,7 @@ namespace VocaluxeLib.Log
|
||||
_MainLog.Error(messageTemplate);
|
||||
}
|
||||
if(show)
|
||||
_ShowLogAssistent(messageTemplate, null, callerMethodeName, callerFilePath, callerLineNumer);
|
||||
ShowLogAssistent(messageTemplate, null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -389,7 +389,7 @@ namespace VocaluxeLib.Log
|
||||
_MainLog.Error(messageTemplate, propertyValues);
|
||||
}
|
||||
if(show)
|
||||
_ShowLogAssistent(messageTemplate, propertyValues, callerMethodeName, callerFilePath, callerLineNumer);
|
||||
ShowLogAssistent(messageTemplate, propertyValues);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -409,7 +409,7 @@ namespace VocaluxeLib.Log
|
||||
_MainLog.Error( exception, messageTemplate);
|
||||
}
|
||||
if(show)
|
||||
_ShowLogAssistent(messageTemplate, null, callerMethodeName, callerFilePath, callerLineNumer);
|
||||
ShowLogAssistent(messageTemplate, null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -430,7 +430,7 @@ namespace VocaluxeLib.Log
|
||||
_MainLog.Error(exception, messageTemplate, propertyValues);
|
||||
}
|
||||
if(show)
|
||||
_ShowLogAssistent(messageTemplate, propertyValues, callerMethodeName, callerFilePath, callerLineNumer);
|
||||
ShowLogAssistent(messageTemplate, propertyValues);
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -453,7 +453,7 @@ namespace VocaluxeLib.Log
|
||||
_MainLog.Fatal(messageTemplate);
|
||||
}
|
||||
if(show)
|
||||
_ShowLogAssistent(messageTemplate, null, callerMethodeName, callerFilePath, callerLineNumer);
|
||||
ShowLogAssistent(messageTemplate, null, true, false);
|
||||
|
||||
// Close logs and exit
|
||||
Close();
|
||||
@@ -477,7 +477,7 @@ namespace VocaluxeLib.Log
|
||||
_MainLog.Fatal(messageTemplate, propertyValues);
|
||||
}
|
||||
if(show)
|
||||
_ShowLogAssistent(messageTemplate, propertyValues, callerMethodeName, callerFilePath, callerLineNumer);
|
||||
ShowLogAssistent(messageTemplate, propertyValues, true, false);
|
||||
|
||||
// Close logs and exit
|
||||
Close();
|
||||
@@ -501,7 +501,7 @@ namespace VocaluxeLib.Log
|
||||
_MainLog.Fatal( exception, messageTemplate);
|
||||
}
|
||||
if(show)
|
||||
_ShowLogAssistent(messageTemplate, null, callerMethodeName, callerFilePath, callerLineNumer);
|
||||
ShowLogAssistent(messageTemplate, null, true, false);
|
||||
|
||||
// Close logs and exit
|
||||
Close();
|
||||
@@ -526,7 +526,7 @@ namespace VocaluxeLib.Log
|
||||
_MainLog.Fatal(exception, messageTemplate, propertyValues);
|
||||
}
|
||||
if(show)
|
||||
_ShowLogAssistent(messageTemplate, propertyValues, callerMethodeName, callerFilePath, callerLineNumer);
|
||||
ShowLogAssistent(messageTemplate, propertyValues, true, false);
|
||||
|
||||
// Close logs and exit
|
||||
Close();
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace VocaluxeLib.Log
|
||||
}
|
||||
<# if(Log == "Main") { #>
|
||||
if(show)
|
||||
_ShowLogAssistent(messageTemplate, null, callerMethodeName, callerFilePath, callerLineNumer);
|
||||
ShowLogAssistent(messageTemplate, null<#= LogLevel == "Fatal"?", true, false":"" #>);
|
||||
<# } #>
|
||||
<# if(LogLevel == "Fatal") { #>
|
||||
|
||||
@@ -82,7 +82,7 @@ namespace VocaluxeLib.Log
|
||||
}
|
||||
<# if(Log == "Main") { #>
|
||||
if(show)
|
||||
_ShowLogAssistent(messageTemplate, propertyValues, callerMethodeName, callerFilePath, callerLineNumer);
|
||||
ShowLogAssistent(messageTemplate, propertyValues<#= LogLevel == "Fatal"?", true, false":"" #>);
|
||||
<# } #>
|
||||
<# if(LogLevel == "Fatal") { #>
|
||||
|
||||
@@ -112,7 +112,7 @@ namespace VocaluxeLib.Log
|
||||
}
|
||||
<# if(Log == "Main") { #>
|
||||
if(show)
|
||||
_ShowLogAssistent(messageTemplate, null, callerMethodeName, callerFilePath, callerLineNumer);
|
||||
ShowLogAssistent(messageTemplate, null<#= LogLevel == "Fatal"?", true, false":"" #>);
|
||||
<# } #>
|
||||
<# if(LogLevel == "Fatal") { #>
|
||||
|
||||
@@ -143,7 +143,7 @@ namespace VocaluxeLib.Log
|
||||
}
|
||||
<# if(Log == "Main") { #>
|
||||
if(show)
|
||||
_ShowLogAssistent(messageTemplate, propertyValues, callerMethodeName, callerFilePath, callerLineNumer);
|
||||
ShowLogAssistent(messageTemplate, propertyValues<#= LogLevel == "Fatal"?", true, false":"" #>);
|
||||
<# } #>
|
||||
<# if(LogLevel == "Fatal") { #>
|
||||
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
|
||||
namespace VocaluxeLib.Log
|
||||
{
|
||||
public delegate void ShowReporterDelegate(bool crash, bool allowContinue, string vocaluxeVersionTag, string log);
|
||||
/// <summary>
|
||||
/// Shows a new instance of the log file reporter.
|
||||
/// </summary>
|
||||
/// <param name="crash">True if we are submitting a crash, false otherwise (e.g. error).</param>
|
||||
/// <param name="showContinue">True if the reporter show show a continue message, false if it should show an exit message.</param>
|
||||
/// <param name="vocaluxeVersionTag">The full version tag of this instance (like it is diplayed in the main menu).</param>
|
||||
/// <param name="log">The log to submit.</param>
|
||||
/// <param name="lastError">The last error message.</param>
|
||||
public delegate void ShowReporterDelegate(bool crash, bool showContinue, string vocaluxeVersionTag, string log, string lastError);
|
||||
}
|
||||
Reference in new issue
Block a user