Asp.net 当跟踪文件变得太大时,有效地截断它?

Asp.net 当跟踪文件变得太大时,有效地截断它?,asp.net,trace,Asp.net,Trace,我正在使用.NET的内置跟踪机制来跟踪程序执行。问题是跟踪文件可以很快增长到几MB。当文件增长超过某一点时,是否有一种有效的方法来截断文件?我曾想过在编写某些内容时进行检查(我有一个从TraceListener继承的自定义类),但这可能会严重降低性能。也许定时器是更好的解决方案 有人有什么想法吗?可能使用事件日志跟踪侦听器,因为事件日志可以通过这种方式轻松自动循环。可能使用事件日志跟踪侦听器,因为事件日志可以通过这种方式轻松自动循环。实现自定义跟踪侦听器: 让我们看看如何解决相当常见的任务:管理

我正在使用.NET的内置跟踪机制来跟踪程序执行。问题是跟踪文件可以很快增长到几MB。当文件增长超过某一点时,是否有一种有效的方法来截断文件?我曾想过在编写某些内容时进行检查(我有一个从TraceListener继承的自定义类),但这可能会严重降低性能。也许定时器是更好的解决方案


有人有什么想法吗?

可能使用事件日志跟踪侦听器,因为事件日志可以通过这种方式轻松自动循环。

可能使用事件日志跟踪侦听器,因为事件日志可以通过这种方式轻松自动循环。

实现自定义跟踪侦听器:

让我们看看如何解决相当常见的任务:管理连续生成的跟踪文件。默认跟踪侦听器实现并不真正适用于假定始终处于活动状态的服务应用程序。若应用程序产生大量跟踪输出,那个么这些信息迟早会占用所有磁盘空间

在本例中,您可以创建如下日志chunck:

MyTrace.txt (recent trace information); 
MyTrace00.txt (trace history backup); 
MyTrace01.txt (trace history backup); 
and so on...
当然,您可以扔掉备份文件


(只是一个提示:尝试log4net()和企业库日志记录块()!)

实现一个自定义跟踪侦听器:

让我们看看如何解决相当常见的任务:管理连续生成的跟踪文件。默认跟踪侦听器实现并不真正适用于假定始终处于活动状态的服务应用程序。若应用程序产生大量跟踪输出,那个么这些信息迟早会占用所有磁盘空间

在本例中,您可以创建如下日志chunck:

MyTrace.txt (recent trace information); 
MyTrace00.txt (trace history backup); 
MyTrace01.txt (trace history backup); 
and so on...
当然,您可以扔掉备份文件


(只是一个提示:试试log4net()和企业库日志记录块()!)

我之所以使用内置跟踪,是因为我不需要大型日志记录解决方案。我只需要能够在调试过程中跟踪我认为你错了,ilitirit-你说你不需要一个大的日志解决方案,但你想定制存储方式。所以您确实需要一个大的日志记录解决方案:)我之所以使用内置跟踪,是因为我不需要大的日志记录解决方案。我只需要能够在调试过程中跟踪我认为你错了,ilitirit-你说你不需要一个大的日志解决方案,但你想定制存储方式。因此,您确实需要一个大型日志解决方案:)我已经将信息记录到事件日志中,但它不包含跟踪信息。我只在调试或QA会话期间启用跟踪。我已经将信息记录到事件日志中,但它不包含跟踪信息。我只在调试或QA会话期间启用跟踪。