gpt4 book ai didi

c# - 设置EF拦截器文件名布局

转载 作者:太空宇宙 更新时间:2023-11-03 12:58:33 25 4
gpt4 key购买 nike

在 EF 6.1(以后)中,我可以像下面这样配置我的 app.config 文件:

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

以上位于我的 app.config 的 EntityFramework 部分。

我如何能够设置文件名的布局以反射(reflect)操作的日期,类似于 NLog 等流行的记录器,这样我每天都会收到新的日志?

<target name="logfile" xsi:type="File" fileName="C:\logs\folder\log_${shortdate}.txt" layout="${longdate} ${level:uppercase=true:padding=-5} [${threadid:padding=3}] ${logger:padding=-55} - ${message}" />

是否不需要一些编码和重新编译就可以使用这种工具?

最佳答案

根据source code for EF6 ,这对于简单的记录器来说是不可能的。您将需要实现自己的拦截器来执行此操作。

// Code from EF6 source:
public DatabaseLogger(string path, bool append)
{
Check.NotEmpty(path, "path");
_writer = new StreamWriter(path, append) { AutoFlush = true };
}

关于c# - 设置EF拦截器文件名布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33108004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com