PostSharp 逐行记录

PostSharp Logging line by line

提问人:Mlb1973 提问时间:7/12/2022 更新时间:7/12/2022 访问量:50

问:

PostSharp 是否支持记录执行的每一行,还是只支持函数调用?

我有一个程序每周随机失败两到三次。我想查看代码失败的行和相关信息。当它失败时,它就会死掉,所以我最终会看到最后一条成功的线路运行。我知道 Postsharp 会为我逐个函数调用记录。它也会逐行做吗?

记录 线 postsharp

评论

0赞 Mlb1973 7/12/2022
那么,有没有工具可以自动记录程序执行中运行的每个行号呢?程序随机失败,但失败导致崩溃,因此错误陷阱没有运行,我不知道它发生在哪一行。PostSharp 告诉我故障时发生的函数(因为它被写入每个步骤的日志中 - 因此在它出错和崩溃之前)。但是,如果我能记录上一次成功的线路运行,我就可以确定是哪条线路导致了崩溃。
0赞 Mlb1973 7/13/2022
我想我可以更改对传入的委托的每个函数调用,然后用某种形式的日志记录包装委托调用。但对于当前存在的项目,我现在需要编写一个使用 Roslyn 的程序,该程序将遍历我的所有 DotNet 文件并进行一些自动修改。

答:

0赞 Gael Fraiteur 7/12/2022 #1

不,这不可能自动执行此操作,一般来说,我认为它会生成难以阅读的大量日志。

在这种情况下,推荐的方法是将方法进入/退出时的自动日志记录与在有问题的方法中的基本分叉点进行手动日志记录相结合,例如,在内部和块中添加日志记录ifforeach