public WildcardPatternEvaluator(string pattern) : base(pattern) { if (!pattern.EndsWith("*")) { var ex = new ArgumentException("Pattern should end with '*'"); ex.TryAddContextData("pattern", () => pattern); throw ex; } SanitizedPattern = pattern.Substring(0, pattern.Length - 1); }
static void NoSetupNeeded() { // Diagnostics doesn't require any up-front setup for you to get started. // Default configuration based on type of your application will be applied on first call. // List of all default configurations is available from: http:\\diagnostics.squaredinfinity.com\default-configurations Debugger.Break(); // Press F5 to continue GlobalDiagnostics.Log.Information("No Setup Needed!"); try { var ex1 = new ApplicationException("An error occured"); ex1.TryAddContextData("test", () => 13); var ex2 = new ArgumentException("wrong argument!"); ex2.TryAddContextData("test2", () => 7); throw new AggregateException(ex1, ex2); } catch (Exception ex) { GlobalDiagnostics.Log.Error(ex, "An error occured!"); } // By default, Console Application will log everything to following Sinks: // - Trace Output // - \Logs\diagnostics.txt file (all messages) // - \Logs\errors.txt file (only errors) // // You should see "No Setup Needed!" in Debug Output window in Visual Studio (thanks to Trace Output Sink) // and "Just testing!" in \Logs\diagnostics.txt file (thanks to Flat File Sink) Debugger.Break(); // Press F5 to continue }