TPL 数据流日志项,如果发送到 ITargetblock

TPL Dataflow log item if send to ITargetblock

我实际上遇到了 TPL 数据流的问题(似乎一个项目被添加了两次)。因此我想知道是否有注入回调的选项,如果一个项目被发布到目标块,我可以用它来记录日志。我检查了 ActionBlockBufferBlock 构造函数以及 LinkTo 方法,但没有找到任何东西。

有什么提示吗?

不,由于 TPL 数据流是非常轻量级的库,您需要改为执行装饰器块,或者使用一些日志记录缓冲区,例如 TransformBlock,它基本上只记录消息,如下所示:

var loggingTransform = new TransformBlock<TIn, TOut>(m => 
{
    Logger.Info(m);
    return m;
});

一些有用的链接: