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:
lukeIam committed 2018-01-19 19:04:11 +01:00
1 parent d9a98fcd14
commit de4e3e3f5f
7 files changed
+280 -185

No files matched your search

+28 -3
View File
@@ -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();
});
}
}
+24 -24
View File
@@ -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();
+4 -4
View File
@@ -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") { #>
+9 -1
View File
@@ -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);
}