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>
  • 相关阅读:
    [CodeForces]Codeforces Round #429 (Div. 2) ABC(待补)
    About Me
    2018-06-14
    Codeforces Codeforces Round #484 (Div. 2) E. Billiard
    Codeforces Codeforces Round #484 (Div. 2) D. Shark
    Codeforces Educational Codeforces Round 44 (Rated for Div. 2) F. Isomorphic Strings
    Codeforces Educational Codeforces Round 44 (Rated for Div. 2) E. Pencils and Boxes
    Codeforces Avito Code Challenge 2018 D. Bookshelves
    Codeforces Round #485 (Div. 2) D. Fair
    Codeforces Round #485 (Div. 2) F. AND Graph
  • 原文地址:https://www.cnblogs.com/itjeff/p/9000974.html
Copyright © 2011-2022 走看看