zoukankan      html  css  js  c++  java
  • NLog自定义字段写入数据库表,示例

    //自定义字段写入NLog日志
    
    private void saveNLog(InvokeLogModel model)
    {
    LogEventInfo ei = new LogEventInfo();
    ei.Properties["InvokeResult"] = model.InvokeResult;
    ei.Properties["RequestUrl"] = model.RequestUrl;
    ei.Properties["MethodName"] = model.MethodName;
    ei.Properties["InvokeUserName"] = model.InvokeUserName;
    ei.Properties["InputJson"] = model.InputJson;
    ei.Properties["OutputJson"] = model.OutputJson;
    ei.Properties["BeginTime"] = model.BeginTime;
    ei.Properties["EndTime"] = model.EndTime;
    //ei.Message = "my test log message";
    ei.Level = LogLevel.Info;
    nlogger.Log(ei);
    }
    
    
    
    //配置读取自定义字段
    
    <?xml version="1.0" encoding="utf-8" ?>
    <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
    internalLogLevel="Trace"
    internalLogFile="C:/internalLog.txt">
    <targets async="true">
    <target xsi:type="File" name="SimpleDemoFile" fileName="${basedir}/logs/${shortdate}.txt" layout="${longdate} | ${level} | ${message} ${onexception:${exception:format=tostring} ${newline} ${stacktrace} ${newline}" encoding="UTF-8"/>
    <target xsi:type="Console" name="Console11" layout="${message}" encoding="UTF-8"/>
    <target type="Database" name="database" connectionstring="Server=.;Database=LogDB;Uid=de;Pwd=de;">
    <commandText>
    INSERT INTO [LogInfo].[InterfaceBeInvokedLog]
    ([LogLevel]
    ,[InvokeResult]
    ,[InvokeUserName]
    ,[RequestUrl]
    ,[MethodName]
    ,[InputJson]
    ,[OutputJson]
    ,[BeginTime]
    ,[EndTime]
    )
    values (@LogLevel, @InvokeResult, @InvokeUserName, @RequestUrl, @MethodName, @InputJson, @OutputJson, @BeginTime, @EndTime);
    </commandText>
    <parameter name="@LogLevel" layout="${level}"/>
    <parameter name="@InvokeResult" layout="${event-context:item=InvokeResult}"/>
    <parameter name="@InvokeUserName" layout="${event-context:item=InvokeUserName}"/>
    <parameter name="@RequestUrl" layout="${event-context:item=RequestUrl}"/>
    <parameter name="@MethodName" layout="${event-context:item=MethodName}"/>
    <parameter name="@InputJson" layout="${event-context:item=InputJson}"/>
    <parameter name="@OutputJson" layout="${event-context:item=OutputJson}"/>
    <parameter name="@BeginTime" layout="${event-context:item=BeginTime}"/>
    <parameter name="@EndTime" layout="${event-context:item=EndTime}"/>
    </target>
    </targets>
    <rules>
    <logger name="*" minLevel="Info" writeTo="SimpleDemoFile"/>
    <logger name="*" level="Info" writeTo="Console11,database"/>
    </rules>
    </nlog>
  • 相关阅读:
    php打印出10*10表格
    php打印出1到2000年之间所有的闰年
    借鉴一篇好文章
    女程序员的预备篇
    SQL存储过程删除数据库日志文件的方法
    Mongodb无法访问28107的问题
    使用 xsd.exe 命令工具将 xsd 架构生成 类(CS) 文件
    C# 用POST提交json数据
    WinForm 使用 HttpUtility
    Sql Server 分区之后增加新的分区
  • 原文地址:https://www.cnblogs.com/itjeff/p/9000974.html
Copyright © 2011-2022 走看看