1
내 경계 경계선에 여백을 추가하려고했습니다.PostSharp OnMethodBoundaryAspect 들여 쓰기/안쪽 여백
스택 트레이스 내가 PostSharp가 (Indentation in Logging)
을 수행 알고 간단한 시나리오 약 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);
// ...
인 프레임 카운트 기준을 계산하는 패턴을 찾을 수없는, 아니 도움이 될 것으로 보인다
어쨌든 이것을 수행 할 수 있습니까?
매우 잘 작동합니다. 문제에 통합 된 솔루션을보고 싶어하는 사람들을위한 아래의 일부 코드. '[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); // ...' –