C# 从多进程为Log4net使用单个文件?
我对Log4net有问题。我想在许多进程中使用Log4net,只使用一个文件日志。我用google尝试添加log4net.Appender.FileAppender+InterProcessLock或log4net.Appender.FileAppender+MinimalLock,但它无法工作。 我通过c#代码配置Log4net: 我的应用程序将创建一个新进程来运行它 如何在这种情况下配置log4net?您所说的“无法工作”是什么意思?并且在这个主题上有这样一句话——“在您开始尝试提供的任何备选方案之前,问问自己是否真的需要将多个进程记录到同一个文件中,然后不要这样做;-)”C# 从多进程为Log4net使用单个文件?,c#,log4net,C#,Log4net,我对Log4net有问题。我想在许多进程中使用Log4net,只使用一个文件日志。我用google尝试添加log4net.Appender.FileAppender+InterProcessLock或log4net.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;
}
}