Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.NET/C#跟踪-查看跟踪日志对话框&;(可选)保存到文件_C#_.net_Logging - Fatal编程技术网

.NET/C#跟踪-查看跟踪日志对话框&;(可选)保存到文件

.NET/C#跟踪-查看跟踪日志对话框&;(可选)保存到文件,c#,.net,logging,C#,.net,Logging,我想在一个简单的c#(WPF)应用程序中实现一些基本的跟踪,该应用程序只在测试人员内部使用。我基本上希望测试人员能够查看他们所做工作的日志,然后有选择地将其保存到(他们选择的)文件中。这将允许测试人员查看他们到目前为止在测试中所做的工作,并可以选择将日志保存到文件中,以供后代使用 在研究如何在.Net中实现简单跟踪(使用)时,默认答案似乎是使用(或者,如中所述)。我的问题是,我的跟踪不需要全功能或任何特殊功能,因此实现外部库(这似乎是由Jeff Atwood本人在中的评论(以及其他地方的评论,但

我想在一个简单的c#(WPF)应用程序中实现一些基本的跟踪,该应用程序只在测试人员内部使用。我基本上希望测试人员能够查看他们所做工作的日志,然后有选择地将其保存到(他们选择的)文件中。这将允许测试人员查看他们到目前为止在测试中所做的工作,并可以选择将日志保存到文件中,以供后代使用

在研究如何在.Net中实现简单跟踪(使用)时,默认答案似乎是使用(或者,如中所述)。我的问题是,我的跟踪不需要全功能或任何特殊功能,因此实现外部库(这似乎是由Jeff Atwood本人在中的评论(以及其他地方的评论,但仍然…)中支持的)似乎有些过分。如果log4net或NLog实际上是最好的/唯一的答案(即使在我的情况下),我仍然可以接受它(即,我对使用它们的想法并不完全陌生,但也不是非常兴奋),但尽量不要重复(或只关注)那个答案(如果可能的话)

考虑到这一点,是否有人对如何实现侦听器有任何建议,以便我可以弹出一个跟踪日志可见的对话框(例如,通过
查看日志
按钮),然后选择将该对话框的内容(或跟踪日志本身)保存到一个文件中(例如,通过“视图”中的
保存日志
按钮)


实现一个监听器,简单地将跟踪记录到应用程序中某种类型的集合似乎相对简单,在这种情况下,
视图
只是将集合显示在列表框或其他东西中,而
保存
只是将该列表保存到文件中(duh),但是,如果应用程序长时间处于打开状态,并且跟踪日志变得超大,该怎么办?可能是只记录最后
x
消息的缓冲区类型集合?建议?

将记录器的输出重定向到文本框将取决于您选择的技术。我建议使用log4net或NLog(我自己也在使用第一个),而不是简单地使用.NET的内置类(或您自己的),因为它更易于配置,而且迟早会证明它是有价值的

我使用的是log4net,web上有几个例子说明了如何将其输出附加到文本框(比如,或者,例如,尽管后一个例子在多线程应用程序中使用时,乍一看可能缺少一些UI线程同步)。不仅如此,您还可以选择将数据记录到数据库中,通过电子邮件发送数据,将数据写入Windows的事件日志,以及许多其他重要的事情,只需在配置文件中添加几行即可


对于第一次使用,它可能看起来有点过分,但事实并非如此。设置很快,有很多例子。一旦您使用它,您将继续将其添加到您未来的所有项目中。

将记录器的输出重定向到文本框将取决于您选择的技术。我建议使用log4net或NLog(我自己也在使用第一个),而不是简单地使用.NET的内置类(或您自己的),因为它更易于配置,而且迟早会证明它是有价值的

我使用的是log4net,web上有几个例子说明了如何将其输出附加到文本框(比如,或者,例如,尽管后一个例子在多线程应用程序中使用时,乍一看可能缺少一些UI线程同步)。不仅如此,您还可以选择将数据记录到数据库中,通过电子邮件发送数据,将数据写入Windows的事件日志,以及许多其他重要的事情,只需在配置文件中添加几行即可

对于第一次使用,它可能看起来有点过分,但事实并非如此。设置很快,有很多例子。一旦您使用它,您将继续将其添加到您未来的所有项目中