@@ -308,20 +308,34 @@ func ToIpfixFlowFile(ebflows []Flow) (*ipfix.FlowFile, error) {
308
308
return flowFile , nil
309
309
}
310
310
311
- func (f Flow ) ToZap () []interface {} {
312
- return [ ]interface {}{
313
- "src" , util .ConvertUint32ToIP (f .Key .Saddr ).String (),
314
- "dst" , util .ConvertUint32ToIP (f .Key .Daddr ).String (),
315
- "proto" , f .Key .Proto ,
316
- "sport" , f .Key .Sport ,
317
- "dport" , f .Key .Dport ,
318
- "ingressIfindex" , f .Key .IngressIfindex ,
319
- "egressIfindex" , f .Key .EgressIfindex ,
320
- "pkts" , f .Val .FlowPkts ,
321
- "bytes" , f .Val .FlowBytes ,
322
- "action" , f .Key .Mark ,
323
- "start" , f .Val .FlowStartMilliSecond ,
324
- "end" , f .Val .FlowEndMilliSecond ,
325
- "finished" , f .Val .Finished ,
311
+ func (f Flow ) ToZap (o ipfix. OutputLog ) ( []interface {}, error ) {
312
+ m := map [ string ]interface {}{
313
+ "src" : util .ConvertUint32ToIP (f .Key .Saddr ).String (),
314
+ "dst" : util .ConvertUint32ToIP (f .Key .Daddr ).String (),
315
+ "proto" : f .Key .Proto ,
316
+ "sport" : f .Key .Sport ,
317
+ "dport" : f .Key .Dport ,
318
+ "ingressIfindex" : f .Key .IngressIfindex ,
319
+ "egressIfindex" : f .Key .EgressIfindex ,
320
+ "pkts" : f .Val .FlowPkts ,
321
+ "bytes" : f .Val .FlowBytes ,
322
+ "action" : f .Key .Mark ,
323
+ "start" : f .Val .FlowStartMilliSecond ,
324
+ "end" : f .Val .FlowEndMilliSecond ,
325
+ "finished" : f .Val .Finished ,
326
326
}
327
+
328
+ for _ , h := range o .Hooks {
329
+ var err error
330
+ m , err = h .Execute (m )
331
+ if err != nil {
332
+ return nil , err
333
+ }
334
+ }
335
+
336
+ ret := []interface {}{}
337
+ for key , val := range m {
338
+ ret = append (ret , key , val )
339
+ }
340
+ return ret , nil
327
341
}
0 commit comments