问题

所以,我在git repo和2个分支中有一个项目:master和fix-master. 我没有在fix-master中更改与log4net相关的代码.但每次,当我开始主人时 – 我没有这个问题,如果我结帐到fix-master,我在这行后都有这个错误:

 private static readonly ILog Log = LogManager.GetLogger(typeof(Program));
 

  最佳答案

除了显而易见的候选人(非法filepath,权限错误)之外,问题甚至可能是互斥锁定:

https://issues.apache.org/jira/browse/LOG4NET-506

RollingFileAppender锁定日志文件夹在某些情况下

摘要:
2001年12月31日终了的两年期收入和支出及准备金和基金结余变动报表 在某些配置情况下,滚动文件附加器可能 在文件夹名称上发出互斥锁.如果多个进程尝试 为了使用不同的执行身份来做到这一点,只有一个能够 登录其特定的日志文件.其他人将无法做到 它。

建议:

在appSettings下将此行添加到app.config / web.config中,以启用内部调试:

 <add key="log4net.Internal.Debug" value="true"/>
 

这将给出这样的输出,系统控制台和 System.Deacystics.Trace

 log4net:ERROR Could not create Appender [RollingLogFileAppender] of type [log4net.Appender.RollingFileAppender]. Reported error follows.
System.UnauthorizedAccessException: Access to path 'D__Logs_' denied. (Translated from french)
   à System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   à System.Threading.Mutex.MutexTryCodeHelper.MutexTryCode(Object userData)
   à System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
   à  System.Threading.Mutex.CreateMutexWithGuaranteedCleanup(Boolean initiallyOwned, String name, Boolean& createdNew, SECURITY_ATTRIBUTES secAttrs)
   à  System.Threading.Mutex..ctor(Boolean initiallyOwned, String name, Boolean& createdNew, MutexSecurity mutexSecurity)
   à  System.Threading.Mutex..ctor(Boolean initiallyOwned, String name, Boolean& createdNew)
   à  log4net.Appender.RollingFileAppender.ActivateOptions()
   à  log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseAppender(XmlElement appenderElement)
log4net:ERROR Appender named [RollingLogFileAppender] not found.
 

请尝试这个,然后把你发现的东西发回来!

  相同标签的其他问题

c#gitlog4netappender