向SharePoint的ULS日志中写入自己的跟踪信息
SharePoint中自定义的webpart, event handler, workflow非常常见. 这些集成了的东西如果报错很难排查. 这篇文章列出介绍简单的使用ULS日志的方法.
参考下面的资料来了解如何向ULS日志中写入信息
==============
SharePoint Trace Logs and the Unified Logging Service (ULS)
Writing to the Trace Log
http://msdn.microsoft.com/en-us/library/aa979595.aspx
Trace Log Example
http://msdn.microsoft.com/en-us/library/aa979522.aspx
知道了怎么写, 还需要知道要写什么. 排查错误最需要的信息, 就是丢出错误的代码位置. 知道了位置之后, 才可以展开相应的一些猜想, 验证, 或者再添入一些可疑对象字段的值的日志输出.
下面的代码段显示了如何从exception中拿到错误的行号等信息.
static void Main(string[] args) { try { Fun1(); } catch (Exception ex) { System.Diagnostics.StackTrace trace = new System.Diagnostics.StackTrace(ex, true); Console.WriteLine(trace.GetFrame(0).GetMethod().Name); //Get deepest error function. Console.WriteLine("Line: " + trace.GetFrame(0).GetFileLineNumber()); //Get error line number. Console.WriteLine("Column: " + trace.GetFrame(0).GetFileColumnNumber()); Console.WriteLine(ex.ToString());//All in one! This one is simplest. } } static void Fun1() { throw new Exception("An error has happened"); }
System.Diagnostics.StackTrace的GetFrame(index)方法可以得到StackFrame对象, Stack Frame的index是从0开始的, 0是最后一个入栈的stackframe.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律