private Logger Log(Level Level, object Format, params object[] Params)
{
if (Enabled || OnGlobalLog != null)
{
StackTrace stackTrace = new StackTrace();
StackFrame StackFrame = null;
foreach (var Frame in stackTrace.GetFrames())
{
if (Frame.GetMethod().DeclaringType != typeof(Logger))
{
StackFrame = Frame;
break;
}
}
if (Enabled)
{
if (OnLog != null) OnLog(Level, String.Format(Format.ToString(), Params), StackFrame);
}
if (OnGlobalLog != null)
{
OnGlobalLog(Name, Level, String.Format(Format.ToString(), Params), StackFrame);
}
}
return this;
}