搜索结果

×

搜索结果将在这里显示。

【集成示例】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

关键说明

  1. 可扩展添加文件日志:安装 Serilog.Sinks.File 包后,可在日志配置中添加 .WriteTo.File("logs/log-.txt", rollingInterval: RollingInterval.Day) 实现按日滚动的文件日志;
  2. 两个版本代码功能完全一致,VB.NET 中需使用 _ 进行代码换行拼接,Lambda 表达式使用 Function() 语法;
  3. 服务停止时需调用 Log.CloseAndFlush() 确保所有日志都被写入,避免日志丢失;
发布时间: