我正在写一个异常记录器类。我的问题是:用什么来标记当前的方法?除了它的名称,导致代码被混淆,因此无法使用。
答案 0 :(得分:3)
您可以创建自己的属性并使用属性修饰方法。
像[MethodName("WriteXMLData")]
然后,您可以让logger类对日志记录期间传递给它的MemberInfo对象执行一些反射。
This是一个很好的教程,用于定义和查询自己的属性。
答案 1 :(得分:0)
您可能想看一下那里的一些日志框架。我偏爱NLog。它易于配置并具有很大的灵活性。
答案 2 :(得分:-1)
您可以获取有关特定异常的所有数据,并将其记录到数据源:
这里你可以提取关于给定异常的一些信息:
protected void Application_Error( object sender, EventArgs e )
{
Exception Exc = null;
try
{
Exc = Server.GetLastError();
if(Exc.InnerException != null)
Exc = Exc.InnerException;
// Method name + line number + column
System.Diagnostics.StackTrace trace = new System.Diagnostics.StackTrace(Exc, true);
string ExtraData = "Name : {0}, Line : {1}, Column : {2}";
ExtraData = String.Format(ExtraData, trace.GetFrame(0).GetMethod().Name, trace.GetFrame(0).GetFileLineNumber(), trace.GetFrame(0).GetFileColumnNumber());
// exception message
Exc.Message;
// page name
Request.Url.ToString();
// stack trace
Exc.StackTrace;
}
}