1
我一直試圖添加一些填充到我自己的方法邊界方面。PostSharp OnMethodBoundaryAspect縮進/填充
堆棧跟蹤似乎沒有幫助,我無法找到一個模式來計算幀計數基準線,這對於簡單的場景大約是12
[Serializable]
public class MyLogger : OnMethodBoundaryAspect
public override void OnEntry(MethodExecutionArgs args)
{
// ...
var ignoreFrameCount = ???; // in simple scenarios is ~12
var n = new StackTrace().FrameCount - ignoreFrameCount;
var padding = String.Empty.PadLeft(n*2);
// ...
我知道PostSharp做它(Indentation in Logging)
無論如何要完成這個嗎?
工作得很好。下面的一些代碼適用於那些希望將解決方案集成到問題中的人員。 [ThreadStatic] private static int _indentLevel; public override void OnEntry(MethodExecutionArgs args) var padding = String.Empty.PadLeft(_indentLevel ++ * 2); // ... public override void OnExit(MethodExecutionArgs args) var padding = String.Empty.PadLeft(--_ indentLevel * 2); // ...' – 2014-10-13 13:46:35