Install-Package Serilog
Install-Package Serilog.Sinks.Console
Install-Package Serilog.Sinks.File
using Serilog;
namespace ConsoleApp13
{
internal class Program
{
static void Main(string[] args)
{
Console.OutputEncoding=System.Text.Encoding.UTF8;
SerilogDemo();
Console.WriteLine("Hello, World!");
}
static void SerilogDemo()
{
try
{
Log.Logger = new LoggerConfiguration()
.WriteTo.Console(outputTemplate: "{Timestamp:yyyy-MM-dd HH:mm:ss.fff} [{Level:u3}] {Message:lj}{NewLine}{Exception}")
.WriteTo.File(
path:Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
"CollectTest2",
"log_.log"),
rollingInterval:RollingInterval.Day,
rollOnFileSizeLimit:true,
fileSizeLimitBytes:1024*1024*1024,
retainedFileCountLimit:3000,
shared:true,
outputTemplate:"{Timestamp:yyyy-MM-dd HH:mm:ss.fff} [{Level:u3}] {Message:lj} {NewLine} {Exception}"
)
.CreateLogger();
Log.Information($"{DateTime.Now},LogLevel.Information,program started!");
Log.Warning($"{DateTime.Now},LogLevel.Warning,This is warning!");
Log.Error($"{DateTime.Now},LogLevel.Error,This is error!");
Console.WriteLine($"{DateTime.Now},Press any key to exit.");
Console.ReadKey();
}
catch (Exception ex)
{
Log.Fatal(ex, $"{DateTime.Now},{ex.Message}");
}
finally
{
Log.CloseAndFlush();
}
}
}
}
![image]()
![image]()
2026-03-30 23:15:58.655 [INF] 2026-03-30 23:15:58,LogLevel.Information,program started!
2026-03-30 23:15:58.694 [WRN] 2026-03-30 23:15:58,LogLevel.Warning,This is warning!
2026-03-30 23:15:58.696 [ERR] 2026-03-30 23:15:58,LogLevel.Error,This is error!