• 可视化面板LogDashboard使用log4net源


    logdashboard现已支持log4net文件源,本示例源码在 https://github.com/liangshiw/LogDashboard/tree/master/samples/UseLog4net

    关于logdashboard的介绍可以看这里

    使用log4net

    创建一个NotCore项目

    确保机器上安装上DotnetCore SDK ,同快速入门一样,我们需要一个DotnetCore Empty项目 。打开PowerShell运行以下命令

    dotnet new empty
    

    安装log4net组件包

    使用visualstudio打开项目,这时安装log4net程序包

    Install-Package Microsoft.Extensions.Logging.Log4Net.AspNetCore
    

    打开Startup.cs在Configure方法中添加log4net中间件,复制以下代码添加到Configure方法中

    loggerFactory.AddLog4Net(new Log4NetProviderOptions
    {
        PropertyOverrides =
            new List<NodeInfo>
            {
                new NodeInfo { XPath = "/log4net/appender/file[last()]", Attributes = new Dictionary<string, string> { { "value", $"{AppContext.BaseDirectory}LogFiles/" } } }
            }
    });
    

    添加log4net.config到项目中,并右键文件设置为复制到输出目录(始终复制),以下是log4net.config的全部内容

    配置文件需要分隔符才可以被NLogDashboard解析,默认是||与||end,当然这些可以自定义,请参见 LogDashboard配置

    <?xml version="1.0" encoding="utf-8" ?>
    <log4net>
      <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
        <file value="LogFiles/"/>
        <preserveLogFileNameExtension value="true" />
        <datePattern value="yyyy-MM-dd'.log'" />
        <staticLogFileName value="false"/>
        <appendToFile value="true" />
        <maximumFileSize value="100KB" />
        <maxSizeRollBackups value="2" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%date || %5level || %logger || %message || %exception ||end %newline" />
        </layout>
      </appender>
      <root>
        <level value="ALL"/>
        <appender-ref ref="RollingFile" />
      </root>
    </log4net>
    

    安装LogDashboard

    准备工作已经结束,这时安装LogDashboard

    Install-Package LogDashboard
    

    打开Startup.cs我们要做两件事

    1. 在ConfigureServices方法中配置服务
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddLogDashboard();
    }
    

    关于更多的配置请参阅 LogDashboard配置

    1. 在Configure方法中配置中间件
    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
    
        app.UseLogDashboard();
    
        app.Run(async (context) =>
        {
            await context.Response.WriteAsync("Hello World!");
        });
    }
    

    大功告成,这时运行项目,在浏览器中导航到/logdashboard。这时就能看到日志面板了

    发布时需要注意!

    打开.csproj项目文件添加以下行 , 原因请参见 https://github.com/aspnet/Mvc/issues/6021

    <PropertyGroup>
       <MvcRazorExcludeRefAssembliesFromPublish>false</MvcRazorExcludeRefAssembliesFromPublish>
     </PropertyGroup>
    
  • 相关阅读:
    好玩的SQL
    Oracle常用函数
    树控件DeleteAllItems之前先SelectItem(NULL)
    MFC控件位置调整
    C++中一个0xC0000005访问冲突问题
    为MFC按钮添加各种图片
    LVN_ITEMCHANGED(OnItemchanged)通知响应多次的问题
    android 里边的mk文件的解析
    定义属于自己的标题栏
    block 影响代码执行由上往下执行顺序 从而影响功能的解决
  • 原文地址:https://www.cnblogs.com/LiangSW/p/10265786.html
Copyright © 2020-2023  润新知