使用Enterprise库批量日志记录

时间:2013-04-09 08:14:18

标签: enterprise-library

您好我正在使用Enterprise库5.0在文本文件中记录消息,作为其中一部分我需要将消息集合记录到文本文件中。

以下是使用flatfilelistener

记录到文本文件的代码部分
public void LogToFile(string message, string category, IDictionary<string, object> additionalDetail)
{
    var logger = EnterpriseLibraryContainer.Current.GetInstance<LogWriter>();

    logger.Write(message, category, 0, 0, TraceEventType.Error, string.Empty, additionalDetail);
}

以上将在文本文件中记录单个消息,就像我将调用我需要记录的集合中的每个项目一样。

那么,如何在一次拉伸中记录所有内容?比如放入缓冲区并在单次拉伸时更新日志文件。

我猜有一个名为“AutoFlush”的属性,但我不知道如何使用它。

1 个答案:

答案 0 :(得分:1)

using auto flush

这可能是你最好的选择。只需让缓冲区处理它或创建一个自定义刷新机制,您可以在指定的持续时间内调用,例如http请求的结束,或者如果您是偏执狂,或许当应用程序崩溃并且您不能信任autoflush工作时。