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