using Microsoft.Extensions.Configuration; using Serilog; using System; using System.IO; namespace LogConfigTest { class Program { static void Main(string[] args) { try { // 加载配置文件 var config = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) .Build(); // 配置Serilog Log.Logger = new LoggerConfiguration() .ReadFrom.Configuration(config) .CreateLogger(); Console.WriteLine("日志配置成功!"); Console.WriteLine("正在测试日志写入..."); // 写入测试日志 Log.Information("这是一条信息日志"); Log.Warning("这是一条警告日志"); Log.Error("这是一条错误日志"); Console.WriteLine("日志写入完成,请检查logs目录下的日志文件。"); // 检查日志目录 if (Directory.Exists("logs")) { Console.WriteLine("\n日志目录已创建,包含以下文件:"); var logFiles = Directory.GetFiles("logs"); foreach (var file in logFiles) { Console.WriteLine($"- {Path.GetFileName(file)}"); } } else { Console.WriteLine("\n日志目录尚未创建,请稍候再试。"); } } catch (Exception ex) { Console.WriteLine($"配置错误: {ex.Message}"); Console.WriteLine(ex.StackTrace); } finally { Log.CloseAndFlush(); } Console.WriteLine("\n按任意键退出..."); Console.ReadKey(); } } }