匹配whenRepeated过滤器布局

时间:2018-02-09 02:47:18

标签: c# .net logging nlog

  

在我的应用程序中,我使用相同的消息记录事件,但不同   参数。记录器类上的所有LogLevel方法都有重载   接受object[] args参数(example1和。{   example2)。

因此,可能会出现大量消息,例如:

"Some Message: Item1=A"
"Some Message: Item1=A"
"Some Message: Item1=B"
"Some Message: Item1=C"
"Some Message: Item1=B"
"Some Message: Item1=B"
...

在任意时间范围内,n条信息可能会Item1Some Message

我的目标是聚合这些消息,以在单个日志消息中显示每个Some Message: A (Hits: 2), B (Hits: 3), C (Hits: 1)的出现次数,其中包含每个参数的出现次数。因此,当timeOut到期时,最终的消息将是:

<target name="file" xsi:type="File" fileName="file.txt" layout="${event-context:item=filteredCount}|${message}"/> ... <logger name="*" minlevel="Trace" writeTo="file" > <filters> <whenRepeated layout="${exception:format=ToString,StackTrace:whenEmpty=${message}}" FilterCountPropertyName="filteredCount" FilterCountMessageAppendFormat="(Hits: {0})" timeoutSeconds="30" action="LogFinal" includeFirst="false" OptimizeBufferReuse="true"/> </filters> </logger>

目前,我的NLog.config文件包含以下目标和记录器:

    onSearchTasks : function (oEvent) {

        var self = this;
        let oFilter = "";
        let searchField = 'Title';
        let searchString = oEvent.getSource().getValue() ;              
     if(searchString) {
         oFilter = new Filter(searchField,sap.ui.model.FilterOperator.Contains, searchString);
       }    
      self.getView().byId('tableTask').getBinding('items').filter([oFilter]);
      }

0 个答案:

没有答案