【集成示例】PicoServer 与日志(Serilog)集成:轻量服务日志优雅记录
核心目标:快速集成日志组件,记录服务运行状态与请求信息,便于问题排查。
核心准备
安装所需 NuGet 包:
Install-Package PicoServer
Install-Package Serilog
Install-Package Serilog.Sinks.Console
C# 极简代码示例
using PicoServer;
using Serilog;
using System;
class Program
{
static void Main(string[] args)
{
// 1. 初始化Serilog日志(控制台输出)
Log.Logger = new LoggerConfiguration()
.WriteTo.Console()
.CreateLogger();
// 2. 启动PicoServer
var MyAPI = new WebAPIServer();
MyAPI.StartServer();
Log.Information("PicoServer启动成功,地址:http://localhost:8090");
// 3. 注册路由(日志记录请求)
MyAPI.AddRoute("/", () =>
{
Log.Information("收到根路径请求");
return "请求成功!日志已记录";
}, "GET");
Console.ReadKey();
Log.Information("服务停止");
MyAPI.StopServer();
Log.CloseAndFlush();
}
}
VB.NET 极简代码示例
Imports PicoServer
Imports Serilog
Imports System
Module Program
Sub Main(args As String())
' 1. 初始化Serilog日志(控制台输出)
Log.Logger = New LoggerConfiguration() _
.WriteTo.Console() _
.CreateLogger()
' 2. 启动PicoServer
Dim MyAPI = New WebAPIServer()
MyAPI.StartServer()
Log.Information("PicoServer启动成功,地址:http://localhost:8090")
' 3. 注册路由(日志记录请求)
MyAPI.AddRoute("/", Function()
Log.Information("收到根路径请求")
Return "请求成功!日志已记录"
End Function, "GET")
Console.ReadKey()
Log.Information("服务停止")
MyAPI.StopServer()
Log.CloseAndFlush()
End Sub
End Module
关键说明
- 可扩展添加文件日志:安装
Serilog.Sinks.File包后,可在日志配置中添加.WriteTo.File("logs/log-.txt", rollingInterval: RollingInterval.Day)实现按日滚动的文件日志; - 两个版本代码功能完全一致,VB.NET 中需使用
_进行代码换行拼接,Lambda 表达式使用Function()语法; - 服务停止时需调用
Log.CloseAndFlush()确保所有日志都被写入,避免日志丢失;
发布时间: