mirror of
https://github.com/markjprice/cs11dotnet7.git
synced 2025-12-06 05:32:03 +01:00
43 lines
1.2 KiB
C#
43 lines
1.2 KiB
C#
|
|
using System.Diagnostics;
|
|||
|
|
using Microsoft.Extensions.Configuration;
|
|||
|
|
|
|||
|
|
string logPath = Path.Combine(Environment.GetFolderPath(
|
|||
|
|
Environment.SpecialFolder.DesktopDirectory), "log.txt");
|
|||
|
|
|
|||
|
|
Console.WriteLine($"Writing to: {logPath}");
|
|||
|
|
|
|||
|
|
TextWriterTraceListener logFile = new(File.CreateText(logPath));
|
|||
|
|
|
|||
|
|
Trace.Listeners.Add(logFile);
|
|||
|
|
|
|||
|
|
// text writer is buffered, so this option calls
|
|||
|
|
// Flush() on all listeners after writing
|
|||
|
|
Trace.AutoFlush = true;
|
|||
|
|
|
|||
|
|
Debug.WriteLine("Debug says, I am watching!");
|
|||
|
|
Trace.WriteLine("Trace says, I am watching!");
|
|||
|
|
|
|||
|
|
Console.WriteLine("Reading from appsettings.json in {0}",
|
|||
|
|
arg0: Directory.GetCurrentDirectory());
|
|||
|
|
|
|||
|
|
ConfigurationBuilder builder = new();
|
|||
|
|
|
|||
|
|
builder.SetBasePath(Directory.GetCurrentDirectory());
|
|||
|
|
|
|||
|
|
builder.AddJsonFile("appsettings.json",
|
|||
|
|
optional: false, reloadOnChange: true);
|
|||
|
|
|
|||
|
|
IConfigurationRoot configuration = builder.Build();
|
|||
|
|
|
|||
|
|
TraceSwitch ts = new(
|
|||
|
|
displayName: "PacktSwitch",
|
|||
|
|
description: "This switch is set via a JSON config.");
|
|||
|
|
|
|||
|
|
configuration.GetSection("PacktSwitch").Bind(ts);
|
|||
|
|
|
|||
|
|
Trace.WriteLineIf(ts.TraceError, "Trace error");
|
|||
|
|
Trace.WriteLineIf(ts.TraceWarning, "Trace warning");
|
|||
|
|
Trace.WriteLineIf(ts.TraceInfo, "Trace information");
|
|||
|
|
Trace.WriteLineIf(ts.TraceVerbose, "Trace verbose");
|
|||
|
|
|
|||
|
|
Console.ReadLine();
|