注册表,以及记录当前调用方法的基本信息的代码
2015-05-11 17:24
411 查看
public class TestStackTrace { List<object> paramValueItems = new List<object>(); public void TestMethod(int num,string msg) { //注册表的写入 RegistryKey rk = Registry.LocalMachine; rk.SetValue("LOLRegister", "Do"); //记录方法参数的值 paramValueItems.Clear(); paramValueItems.Add(num); paramValueItems.Add(msg); WriteLog(paramValueItems); num += num; msg = num.ToString() + "hello word"; } public void WriteLog(List<object> items) { try { //如果可以输出日志,就执行 //if (IsEnableOutPutLog == true) //{ StackTrace st = new StackTrace(true); //这个括号里面的参数从0开始,0就是自己,1就是上一个 MethodBase methodName = st.GetFrame(1).GetMethod(); //得到参数集合 ParameterInfo[] paramInfo = st.GetFrame(1).GetMethod().GetParameters(); //文件路径 string fileName = "MethodInfoLog.txt"; //定义文件信息对象 FileInfo finfo = new FileInfo(fileName); //判断文件是否存在以及是否大于2M 2048000 if (finfo.Exists && finfo.Length > 2048000) { try { //删除该文件 finfo.Delete(); } catch (Exception e) { } } using (StreamWriter writer = new StreamWriter(fileName, true, System.Text.Encoding.UTF8, 1024)) { writer.WriteLine("方法名称:" + methodName.Name); writer.WriteLine("调用时间: " + DateTime.Now); writer.WriteLine("--------------------------------------------------------------------"); for (int i = 0; i < items.Count; i++) { writer.WriteLine("参数名称:" + paramInfo[i].Name); writer.WriteLine("参数类型:" + paramInfo[i].ParameterType); writer.WriteLine("参数值:" + items[i].ToString()); writer.WriteLine("参数位置: " + paramInfo[i].Position); writer.WriteLine(String.Empty); writer.WriteLine("*********************************************************************"); writer.Flush(); writer.Close(); } } //} } catch (Exception ex) { //WriteLog(ex, "方法记录出现异常!"); } }
相关文章推荐
- Ruby之旅(二) Ruby的基本语法以及对象的使用,方法的定义及调用,属性的定义及使用
- FCKeditor2.6.3操作说明,基本设置,精简以及JS调用方法
- ASP.NET AJAX框架调用后台代码的基本方法
- FCKeditor2.6.3操作说明,基本设置,精简以及JS调用方法
- C# 后台调用前台的JS方法 以及常用的代码片断
- (键盘)代码 19:由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备 解决方法
- ASP.NET AJAX框架调用后台代码的基本方法
- 键盘由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备。 (代码 19)解决方法
- (键盘)代码 19:由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备 解决方法
- 【win32 app调用html方法】 CHtmlView当前浏览器打开新窗口--我看完之后感觉是 html当中的信息映射的处理方法
- (键盘)代码 19:由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备 解决方法
- Documentum Jobs & Methods(好文章,但仍未涉及如果用代码调用方法,以调用超出当前用户权限的功能)
- 分享一个记录当前代码信息的函数
- 分享一个记录当前代码信息的函数
- 在程序中调用外部程序,用process返回命令执行结果以及抓取错误信息的方法
- 生命周期方法调用,以及在onStop()方法中处理草稿信息
- asp.net获取服务器基本信息的方法代码
- (键盘)代码 19:由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备 解决方法
- dedecms实现任意页面调用当前会员信息的方法
- phpcms当前栏目调用父级及以下栏目信息方法