在我的应用程序中,我使用相同的消息记录事件,但不同 参数。记录器类上的所有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
条信息可能会Item1
个Some 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]);
}