c# – 使用记录器记录堆栈跟踪

c# – 使用记录器记录堆栈跟踪,第1张

概述我正在使用带有C#.Net 2.0的Logging Application块.我的代码将错误信​​息记录到平面文件中.我已经在web.config中设置了所有必需的配置,如监听器,格式化程序和类别等,如msdn中所述,它工作正常. 但问题是,我不能在le.Message属性中放置超过50个字符.在我的情况下,堆栈跟踪超过500个字符长,我想在发生错误时登录到平面文件. 我们可以在LogEntry对 我正在使用带有C#.Net 2.0的Logging Application块.我的代码将错误信​​息记录到平面文件中.我已经在web.config中设置了所有必需的配置,如监听器,格式化程序和类别等,如msdn中所述,它工作正常.
但问题是,我不能在le.Message属性中放置超过50个字符.在我的情况下,堆栈跟踪超过500个字符长,我想在发生错误时登录到平面文件.

我们可以在LogEntry对象的Message Property中放置的charactors数量有限制吗?或者有没有其他方法将堆栈跟踪记录到logger平面文件中?

这是简单的代码.

LogEntry le = new LogEntry();le.CategorIEs.Add("ErrorsToEventLog");le.CategorIEs.Add("ErrorsTologfile");le.Title = "Error message";le.TimeStamp = System.DateTime.Now;le.Severity = System.Diagnostics.TraceEventType.Error;le.Message = "<text of error's stack trace>";Logger.write(le);

配置设置

<configSections> <section name="loggingConfiguration"type="Microsoft.Practices.Enterpriselibrary.Logging.Configuration.LoggingSettings,Microsoft.Practices.Enterpriselibrary.Logging,Version=4.1.0.0,Culture=neutral,PublicKeyToken=null" /><section name="dataConfiguration"type="Microsoft.Practices.Enterpriselibrary.Data.Configuration.DatabaseSettings,Microsoft.Practices.Enterpriselibrary.Data,PublicKeyToken=null" /></configSections>

这是我使用的格式化程序,

<formatters><add template="Timestamp: {timestamp} Message: {message}" type="Microsoft.Practices.Enterpriselibrary.Logging.Formatters.textformatter,PublicKeyToken=null" name="Text Formatter" /></formatters>

这是听众,

<add filename="Logs/ErrorLog_{Date}.log" ListenerDataType="Microsoft.Practices.Enterpriselibrary.Logging.Configuration.CustomTraceListenerData,PublicKeyToken=null" traceOutputoptions="None"type="Enterpriselibrary.Logging.Extensions.RollingFlatfileTraceListener,Enterpriselibrary.Logging.Extensions,Version=1.0.0.0,PublicKeyToken=null" name="Custom TraceListener" initializeData="" />

分类

<categorySources><add switchValue="All" name="ErrorsToEventLog"><Listeners><add name="Formatted EventLog TraceListener" /></Listeners></add><add switchValue="All" name="ErrorsTologfile"><Listeners>    <add name="Custom TraceListener" /></Listeners></add></categorySources>
解决方法 据我所知,日志消息没有这样的限制.如何将堆栈跟踪设置为消息? 总结

以上是内存溢出为你收集整理的c# – 使用记录器记录堆栈跟踪全部内容,希望文章能够帮你解决c# – 使用记录器记录堆栈跟踪所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1227538.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存