示例#1
0
        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
        }