blob: 21d86e9b07d0177546bcc88ba35115e945d98e7a [file] [log] [blame]
// See https://aka.ms/new-console-template for more information
using System.Reflection;
using log4net;
using log4net.Config;
using log4net_611_lib;
var appPath = new Uri(Assembly.GetExecutingAssembly().Location).LocalPath;
var appFolder = Path.GetDirectoryName(appPath);
// force loading the assembly, otherwise the appender type isn't found later
Assembly.LoadFile("log4net-611-lib.dll");
if (appFolder is null)
{
throw new InvalidOperationException("Can't find myself");
}
Assembly.LoadFile(Path.Combine(appFolder, "log4net-611-lib.dll"));
var configFile = Path.Combine(appFolder, "log4net.config");
if (!File.Exists(configFile))
{
throw new InvalidOperationException($"log4net.config not found at {configFile}");
}
if (Directory.Exists("Logs"))
{
Console.WriteLine("Clearing out old logs...");
foreach (var file in Directory.EnumerateFiles("Logs"))
{
File.Delete(file);
}
}
var info = new FileInfo(configFile);
var logRepo = LogManager.GetRepository(Assembly.GetExecutingAssembly());
XmlConfigurator.ConfigureAndWatch(
logRepo,
info
);
var logger = LogManager.GetLogger(typeof(Program));
Console.WriteLine("logging...");
for (var i = 0; i < 10; i++)
{
logger.Info($"test log {i}");
}
foreach (var file in Directory.EnumerateFiles("Logs"))
{
Console.WriteLine($"log file: {file}");
Console.WriteLine(File.ReadAllText(file));
}