【发布时间】:2016-12-12 20:26:36
【问题描述】:
我有一个要求,我必须向我的应用程序添加一项功能, 使用哪个基于配置文件的日志将添加到代码中。 因此,例如,如果我的类名是 abc.cs,用户将在配置文件中进行以下条目。
<entry typeName = "mynamespace.abc">
<LineNumbers ="1,2,3,10, 12">
</entry>
现在,对于在代码流中到达之前的行号 1、2、3、10、12,将在日志文件中创建一个日志条目,提及“在类型 y 中达到行号 x”。
我们希望这在运行时发生,无需任何代码更改或 dll 更改, 仅当需要更多日志记录时,在配置文件中添加类型和行号。
通过互联网,我发现 AOP 可以帮助实现这一点,但我真的不确定哪种框架或方法可以帮助实现这一点。
期待相同的指南。 我的应用程序使用 c# 和 .net 框架。
【问题讨论】:
-
一般的 AOP 框架,特别是 PostSharp,旨在将代码(建议)注入严格定义的切入点,例如方法入口、方法出口等。不支持基于行号拦截任意代码行AOP。