使用Entity Framework中的拦截器创建特定大小的日志文件

时间:2016-03-30 16:17:37

标签: c# entity-framework

如何为Entity Framework中的拦截器生成的日志设置文件大小?

<interceptor type="System.Data.Entity.Infrastructure.Interception.DatabaseLogger, EntityFramework">
    <parameters>
        <parameter value="LogOutput.txt"/>
        <parameter value="true" type="System.Boolean"/>
    </parameters>
</interceptor>

我想创建指定大小的日志文件,当该大小达到时,它开始创建另一个日志文件。而不是继续将日志写入同一个文件

1 个答案:

答案 0 :(得分:1)

你不能,因为DatabaseLogger类只是没有这样的选项。但是,这个类非常简单,这是它的源代码:http://entityframework.codeplex.com/SourceControl/latest#src/EntityFramework/Infrastructure/Interception/DatabaseLogger.cs

加载时,它只使用DatabaseLogFormatter功能,只需将格式化程序提供给单个文件即可。您可以实现自己的拦截器,但可以登录到不同的文件。您甚至可以使用已有的解决方案(如log4net)为您执行此操作。然后在您的拦截器中,您只需登录到log4net,它就会为您管理文件。