C# 从多进程为Log4net使用单个文件?

C# 从多进程为Log4net使用单个文件?,c#,log4net,C#,Log4net,我对Log4net有问题。我想在许多进程中使用Log4net,只使用一个文件日志。我用google尝试添加log4net.Appender.FileAppender+InterProcessLock或log4net.Appender.FileAppender+MinimalLock,但它无法工作。 我通过c#代码配置Log4net: 我的应用程序将创建一个新进程来运行它 如何在这种情况下配置log4net?您所说的“无法工作”是什么意思?并且在这个主题上有这样一句话——“在您开始尝试提供的任何备

我对Log4net有问题。我想在许多进程中使用Log4net,只使用一个文件日志。我用google尝试添加log4net.Appender.FileAppender+InterProcessLocklog4net.Appender.FileAppender+MinimalLock,但它无法工作。 我通过c#代码配置Log4net:

我的应用程序将创建一个新进程来运行它

如何在这种情况下配置log4net?

您所说的“无法工作”是什么意思?并且在这个主题上有这样一句话——“在您开始尝试提供的任何备选方案之前,问问自己是否真的需要将多个进程记录到同一个文件中,然后不要这样做;-)”
 RollingFileAppender appender = new RollingFileAppender();
            string logFilePath = Path.Combine(folder);
            appender.File = Path.Combine(logFilePath, fileName);
            appender.AppendToFile = true;
            appender.RollingStyle = RollingFileAppender.RollingMode.Size;
            appender.MaxSizeRollBackups = maxSizeRollBackups;
            appender.MaxFileSize = Convert.ToInt64(maxFileSize * 1024 * 1024);
            appender.StaticLogFileName = true;
            log4net.Layout.PatternLayout patternLayout = new log4net.Layout.PatternLayout();
            patternLayout.Header = GetHeader(continueFile);
            patternLayout.ConversionPattern = conversionPattern;
            patternLayout.ActivateOptions();
            appender.Layout = patternLayout;
            appender.ActivateOptions();
            appender.LockingModel = new FileAppender.InterProcessLock();

            //FileAppender aa = new FileAppender();

            try
            {
                Hierarchy hierarchy;

                if (isDesignTime)
                {
                    hierarchy = LogManager.GetRepository() as Hierarchy;
                    //hierarchy = LogManager.CreateRepository(loggerName) as Hierarchy;
                }
                else if (HasRepository(Tracer))
                {
                    hierarchy = LogManager.GetRepository(loggerName) as Hierarchy;
                }
                else
                {
                    hierarchy = LogManager.CreateRepository(loggerName) as Hierarchy;
                }

                hierarchy.Root.AddAppender(appender);
                hierarchy.Configured = true;


                //configure the logging at the root.  
                hierarchy.Root.Level = Level.All;
                }
}