我已经为IIS部署了一个Asp.Net Core 2应用程序。该应用程序运行正常,但它继续在磁盘根目录中创建以下目录结构: d:\ MYAPPNAME \ MYAPPNAME \ 1.0.0
即使我手动删除该文件夹,它也会在应用运行时再次创建。什么可能导致这种行为?
修改 经过进一步调查,我使用VS 2017模板为asp-net core2 mvc应用程序重现了这个问题。
添加Microsoft.Extensions.Logging.TraceSource nuget包并在app.config中配置日志后,将创建未打开的文件夹...
这是App.config的相关部分
<system.diagnostics>
<sources>
<source name="TestApp" switchValue="All">
<listeners>
<clear />
<add name="RotatingFileLog" />
</listeners>
</source>
<source name="Microsoft" switchValue="All">
<listeners>
<clear />
<add name="RotatingFileLog" />
</listeners>
</source>
</sources>
<sharedListeners>
<add name="RotatingFileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter" logFileCreationSchedule="Daily" traceOutputOptions="DateTime" BaseFileName="test" location="Custom" CustomLocation="E:\logs\test\" Delimiter="|" AutoFlush="True" Append="True"></add>
</sharedListeners>
<trace autoflush="true" indentsize="4">
<listeners>
<clear />
<add name="RotatingFileLog" />
</listeners>
</trace>
</system.diagnostics>
答案 0 :(得分:0)
事实证明,Microsoft.VisualBasic.Logging.FileLogTraceListener正在创建该文件夹。我切换到另一个监听器,在本例中为Essential.Diagnostics.RollingFileTraceListener