Windows Log4net可以';无法在非管理员帐户上创建日志

Windows Log4net可以';无法在非管理员帐户上创建日志,windows,windows-8,log4net,log4net-configuration,windows-security,Windows,Windows 8,Log4net,Log4net Configuration,Windows Security,我在Windows8上实现并运行了一个应用程序log4net。 当我以本地管理员身份登录后运行应用程序时,正在创建日志;以下是它的log4net调试条目: log4net: Creating repository [log4net-default-repository] using type [log4net.Repository.Hierarchy.Hierarchy] log4net: configuring repository [log4net-default-repository] u

我在Windows8上实现并运行了一个应用程序log4net。 当我以本地管理员身份登录后运行应用程序时,正在创建日志;以下是它的log4net调试条目:

log4net: Creating repository [log4net-default-repository] using type [log4net.Repository.Hierarchy.Hierarchy]
log4net: configuring repository [log4net-default-repository] using file [.\Resources\Configuration\LoggerConfig.xml]
log4net: configuring repository [log4net-default-repository] using stream
log4net: loading XML configuration
log4net: Configuring Repository [log4net-default-repository]
log4net: Configuration update mode [Merge].
但当应用程序在另一个帐户上运行时,它会停止创建日志;log4net调试信息如下所示:

log4net: Creating repository [log4net-default-repository] using type [log4net.Repository.Hierarchy.Hierarchy]
log4net: configuring repository [log4net-default-repository] using file [.\Resources\Configuration\LoggerConfig.xml]
log4net: config file [C:\Windows\system32\Resources\Configuration\LoggerConfig.xml] not found. Configuration unchanged.
然后,我右键单击应用程序的exe,并从兼容模式选中以管理员身份运行。还是不走运。
有人能确切地建议我需要检查的内容和位置吗?

查看您的错误消息:

log4net: config file [C:\Windows\system32\Resources\Configuration\LoggerConfig.xml] not found. Configuration unchanged.

非管理员用户无权访问system32文件夹。我建议将您的配置文件(以及与此相关的任何其他资源)移动到应用程序的公共文件夹中,该文件夹不在其他受限文件夹中,例如“C:\YourAppName\resources\”

我有配置文件。\resources\configuration\LoggerConfig.xml-我不确定它为什么会在系统文件夹中查看!!这表示当您以其他用户身份运行应用程序时,该应用程序正在从system32文件夹运行。如果它试图读取“.\Resources\Configuration\LoggerConfig.xml”并最终进入system32,这就是问题所在。当您作为另一个用户运行它时,您是如何运行它的?是通过调度程序吗?你能指定开始文件夹吗?嗯,应用程序位于根C:\myapp\myapp.exe;由启动windows C:\logon.bat时启动的bat文件运行。在批处理文件本身中,可能在运行exe之前尝试更改目录,例如“cd C:\myapp”。能否显示加载配置的代码?