我实际上遇到了TPL数据流的问题(似乎项目被添加了两次)。因此,我想知道是否有注入回调的选项,如果项目被发布到目标块,我可以使用它进行日志记录。我检查了ActionBlock
,BufferBlock
构造函数以及LinkTo
方法,但没有找到任何内容。
任何提示?
答案 0 :(得分:1)
不,因为TPL Dataflow是非常轻量级的库,你需要改为使用装饰器块,或者使用一些日志缓冲区,比如TransformBlock
基本上只记录消息,如下所示:
var loggingTransform = new TransformBlock<TIn, TOut>(m =>
{
Logger.Info(m);
return m;
});
一些有用的链接: