C#通过反射获取上层调用方法信息

时间:2021-11-11 07:21:04
            System.Diagnostics.StackFrame frame = new System.Diagnostics.StackFrame();
System.Reflection.MethodBase method = frame.GetMethod();
string namspace = method.DeclaringType.Namespace;
string clasName = method.ReflectedType.Name;
string meth = method.Name;
string FullName = method.DeclaringType.FullName + "." + meth;
  string path = AppDomain.CurrentDomain.BaseDirectory + "/Log/";
            System.Threading.ThreadPool.QueueUserWorkItem((e) =>
            {
                try
                {
                    if (!Directory.Exists(path))
                    {
                        Directory.CreateDirectory(path);
                    }
                    path += System.DateTime.Now.ToString("yyyy-MM-dd") + ".txt";
                    if (!File.Exists(path))
                    {
                        using (File.Create(path)) { };
                    }
                    FileStream fs = new FileStream(path, FileMode.Append, FileAccess.Write);
                    StreamWriter sw = new StreamWriter(fs);
                    sw.WriteLine("----------------------------------" + System.DateTime.Now.ToString() + "------------------------------------\r\n\r\n异常信息为:\r\n  " + ex + "\r\n");
                    sw.WriteLine("异常信息");
                    sw.Close();
                    fs.Close();
                }
                catch
                { }
            });