【问题标题】:Log4net doesn't produce a log file when my project is deployed部署我的项目时,Log4net 不会生成日志文件
【发布时间】:2016-09-02 14:44:38
【问题描述】:

我启用了 log4net,当我在 Visual Studio 中测试时它会写入日志文件。

但是,当我在我的机器上部署到 IIS 时,它不会记录文件。

我相信这与权限有关。

我不确定需要设置哪些权限。

在我的 web.config 中,我将文件路径设置为:

 <param name="File" value="C:\MyFolder\LogFiles\MySite_Debug.log" />

对于权限,我添加了 IUSR 和 IIS,并将其读/写到我的 LogFiles 文件夹。

编辑: 我已添加到 AssemblyInfo.cs

[assembly: log4net.Config.XmlConfigurator(Watch = true)]

我的 Global.asax 中也有

XmlConfigurator.Configure();

在 application_strat 方法中..

在 IIS 7.5 中运行时,我仍然无法记录此内容

编辑 2:
我看了这个链接 App Pool Link
我的应用程序池标识设置为:ApplicationPoolIdentity。
当我在我的文件夹上设置安全性时,我无法解析“IIS AppPool\DefaultAppPool”或“AppPoolIdentity”。

【问题讨论】:

  • 尝试启用 log4net 内部日志,看看是否有帮助
  • 托管应用程序池运行的帐户需要写入文件夹的权限(注意 log4net 不会为您创建文件夹)
  • @Shyju - 我之前尝试过但没有看到日志
  • @stuartd 因为这是我机器上的本地测试,所以文件夹已经到位。我唯一做的就是删除我创建的任何日志文件(从 VS 运行时)

标签: asp.net-mvc log4net


【解决方案1】:

如果您无法解析用户,请确保您在本地计算机上查找。 ApplicationPoolIdentity 是本地用户。所以设置权限时需要在Locations localhost中选择。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-22
    • 2015-03-12
    相关资源
    最近更新 更多