小编Ben*_*uri的帖子

配置NLog的布局以显示所有事件上下文条目

我目前正在开发webapi2应用程序,并在使用NLog进行日志的阶段.

在我的应用程序中,我以这种方式使用LogEventInfo.Properties字典以键值方式登录:

thisController.LogParams.Add("ControllerName",controllerName);
thisController.LogParams.Add("ActionName", actionName);
thisController.LogParams.Add("TotalTime", actionWatch.ElapsedMilliseconds);
LogEventInfo logEvent = new LogEventInfo() 
       { 
           Message = string.IsNullOrEmpty(thisController.LogMessage)? "Finished Successfuly":thisController.LogMessage,
           Level = LogLevel.Info,
           TimeStamp = DateTime.Now
       };
logEvent.Properties.Merge(thisController.LogParams);
logger.Log(logEvent);
Run Code Online (Sandbox Code Playgroud)

一切正常,但我似乎无法找到渲染布局的方式,因此它打印LogEventInfo.Properties字典中的所有键值条目.

假设我的目标是一个文件,那么我必须明确提到密钥名称,有没有办法渲染它来显示字典的所有内容?这是我今天如何做到这一点,我只能记录我所知道的条目:

<target name="f1" 
  xsi:type="File" 
  fileName="${basedir}\logs\log.txt" 
  maxArchiveFiles="60" 
  archiveNumbering="Date" 
  archiveDateFormat="yyyyMMdd" 
  archiveEvery="Day" 
  layout="${longdate} : ${callsite:className=true:methodName=true} : ${event-context:item=ControllerName} : ${event-context:item=ActionName} : ${event-context:item=TotalTime} : ${message}" />
Run Code Online (Sandbox Code Playgroud)

c# nlog

8
推荐指数
1
解决办法
2359
查看次数

如何在JSON中为空DataTable包含列元数据

如何在JSON中正确描述列元数据,以后由Newtonsoft解析以构建ac#DataTable,这样我希望解决一个问题,即获取没有行的DataTable,但也没有列我需要列的列当我传递一个空表时,使用标签创建并希望使用数据类型.

标准输入的示例:

{

"BrokerID" : "998",
"AccountID" : "1313",
"Packages":[
                  {

                    "PackageID": 226,
                    "Amount": 15000,
                    "Auto_sync": true,
                    "Color": "BLUE"

                  },
                  {

                    "PackageID": 500,
                    "Amount": 15000,
                    "Auto_sync": true,
                    "Color": "PEACH"

                  }

           ]
}
Run Code Online (Sandbox Code Playgroud)

输入空表的示例:{"BrokerID":"998","AccountID":"1313","包":[]}

当我使用解析时, JsonConvert.DeserializeObject<DataTable>(params["Packages"]);我没有得到任何行,显然没有列,我正在寻找一种方法来描述json主体中的列元数据.

c# datatable json json.net

4
推荐指数
1
解决办法
2523
查看次数

标签 统计

c# ×2

datatable ×1

json ×1

json.net ×1

nlog ×1