我正在使用Nlog检查我的软件性能需要多少时间?等等等等
我想知道哪个处理器名称(如Intel Core)或其他名称以及浏览器名称(哪个浏览器用户正在使用我的软件)?
我可以了解上述2种布局吗? (浏览器和处理器名称) 到目前为止,我得到了如下所示的大量信息-
<target name="logfile" xsi:type="File" fileName="${logDirectory}/TimesApplicationStopped/${shortdate}/TimesApplicationStopped.csv">
<layout xsi:type="CsvLayout" delimiter="Comma">
<column name="GroupName" layout="${event-properties:GroupName}"/>
<column name="UserName" layout="${event-properties:UserName}"/>
<column name="Organization" layout="${event-properties:Organization}"/>
<column name="Form" layout="${event-properties:Form}"/>
<column name="Version" layout="${event-properties:Version}"/>
<column name="UsedDateTime" layout="${event-properties:UsedDateTime}"/>
<column name="Browser" layout=""/>
<column name="Status" layout="${event-properties:Status}"/>
<column name="Reason" layout="${event-properties:Reason}"/>
<column name="Processor" layout=""/>
<column name="OperatingSystem" layout="${environment:variable=OS}" />
<column name="RAM" layout="" />
</layout>
</target>
答案 0 :(得分:1)
听起来像您可以完全控制客户端应用程序,所以您可以捕获自己感兴趣的任何信息,并在应用程序启动时保存在GDC中:
NLog.GlobalDiagnosticsContext.Set("BrowserName","someValue");
NLog.GlobalDiagnosticsContext.Set("ProcessorName","someValue");
然后,您可以在登录客户端应用程序时包括以下值:
<layout xsi:type="CsvLayout" delimiter="Comma">
<column name="Browser" layout="${gdc:item=BrowserName}"/>
<column name="Processor" layout="${gdc:item=ProcessorName}"/>
</layout>
或者,您可以编写自己的自定义NLog LayoutRenderer并注册:https://github.com/NLog/NLog/wiki/How-to-write-a-custom-layout-renderer