如何在服务器上重新加载配置文件
本文关键字:加载 配置文件 新加载 服务器 | 更新日期: 2023-09-27 18:26:39
我的应用程序使用:
- .NET 4
- MVC 3
- Windows Server 2008 R2
我使用log4net
写入日志文件。我的配置文件如下:
<configuration>
<log4net>
<appender name="FileAppender" type="log4net.Appender.FileAppender">
<file value="C:'Temp'log.txt">
<some settings for log4net...>
</appender>
<log4net>
</configuration>
我想在应用程序运行时从更改文件值
<file value="C:'Temp'log.txt">
至
<file value="C:'Logs'MyAppLog.txt">
当我在计算机(localhost)上运行该应用程序时,它运行得很好,但当我在服务器上运行应用程序时会出现问题。我更改了配置,但服务器会记住旧的配置。为什么服务器不每次都加载文件?
检查是否有:
[assembly: log4net.Config.XmlConfigurator(Watch=true)]
监视意味着log4net将获取配置文件中的更改。您也可以在应用程序配置中对此进行配置。
<appSettings>
<add key="log4net.Config" value="log4net.config"/>
<add key="log4net.Config.Watch" value="True"/>
</appSettings>
如果它停止记录临时目录,而不在de-logs-dir中启动,则可能存在权限问题。授予您的apppool用户访问日志目录的权限。
如果不起作用,您可以启用log4net内部调试:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="log4net.Internal.Debug" value="true"/>
</appSettings>
</configuration>
或:
<configuration>
...
<system.diagnostics>
<trace autoflush="true">
<listeners>
<add
name="textWriterTraceListener"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="C:'tmp'log4net.txt" />
</listeners>
</trace>
</system.diagnostics>
...
</configuration>