宝安做网站公司乐云seo,怎么发布视频号,哪些网站可以做代理,网站在线咨询怎么做需求产生缘由
在开发中为了了解程序在运行的内存状态并记录下来#xff0c;以便出问题时判断是不是与内存相关。于是实时采集了开发程序需要的内存信息。但采集的内存信息在存储时#xff0c;以NLog中的Trace级别来存储的话#xff0c;会与程序其它Trace级别的日志都记录在…需求产生缘由
在开发中为了了解程序在运行的内存状态并记录下来以便出问题时判断是不是与内存相关。于是实时采集了开发程序需要的内存信息。但采集的内存信息在存储时以NLog中的Trace级别来存储的话会与程序其它Trace级别的日志都记录在相同的Trace Log文件下这会导致在查看内存日志时还需要将非内存日志去除才能将所有的内存日志方便地显示出来。 解决方法——NLog XML配置
代码如下主要就是添加过滤条件filters要实现的是含有MemoryLog的要写入Memory文件中于是判断日志字符串中是否有MemoryLog.
nlog xmlnshttp://www.nlog-project.org/schemas/NLog.xsdxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancetargetstarget namelogfile xsi:typeFile fileNamefile.txt /target namelogconsole xsi:typeConsole /target namememory xsi:typeFile fileName${basedir}/Memory.log layout${longdate} ${level} ${message} ${exception} ${newline} //targetsruleslogger name* minlevelInfo writeTologconsole /logger name* minlevelDebug writeTologfile /logger name* minlevelTrace writeTomemory filters defaultActionIgnorewhen conditioncontains(${message}, MemoryLog) actionLog //filters/logger/rules
/nlog 注意filters的defaultAction设置成Ignore忽略否则会将其它日志记录到Memory文件中另外xml配置时插入的xml文件文件名应该为NLog.config同时要将此文件的 复制到输出目录 设置为 如果较新则复制/始终复制。参考链接
When Filter · NLog/NLog Wiki · GitHub
Filtering log messages · NLog/NLog Wiki · GitHub 解决方法——C#代码
本质就是将上述xml转化为C#代码 为了方便以后查阅特记录如下 var config new NLog.Config.LoggingConfiguration();//设定log文件var logfile new NLog.Targets.FileTarget(logfile) { FileName file.txt };//设定log控制台var logconsole new NLog.Targets.ConsoleTarget(logconsole);//设定MemoryLog文件var memory new NLog.Targets.FileTarget(memory) { FileName ${basedir}/Memory.log, Layout ${longdate} ${level} ${message} ${exception} ${newline} };config.AddRule(NLog.LogLevel.Info, NLog.LogLevel.Fatal, logconsole);config.AddRule(NLog.LogLevel.Debug, NLog.LogLevel.Fatal, logfile);//为memory设定过滤条件var rule new NLog.Config.LoggingRule(*, NLog.LogLevel.Trace, memory);rule.Filters.Add(new NLog.Filters.ConditionBasedFilter{Condition contains(${message}, MemoryLog),Action NLog.Filters.FilterResult.Log});config.LoggingRules.Add(rule);NLog.LogManager.Configuration config;