У меня есть два приложения: одно WPF и одно консольное приложение.
В обоих приложениях я установил библиотеки log4net (той же версии), но с отдельными logging.config
файлами для каждого приложения, и они инициализируются следующим образом:
для WPF (App.xaml.cs):
protected override void OnStartup(StartupEventArgs e)
{
var repo = LogManager.CreateRepository(Assembly.GetEntryAssembly(), typeof(log4net.Repository.Hierarchy.Hierarchy));
log4net.Config.XmlConfigurator.Configure(repo, new FileInfo("logging.config"));
base.OnStartup(e);
}
logging.config
сохраняет файл журнала как wpf_debug.log
.
для консоли:
static void Main(string[] args)
{
var repo = LogManager.CreateRepository(Assembly.GetEntryAssembly(), typeof(log4net.Repository.Hierarchy.Hierarchy));
log4net.Config.XmlConfigurator.Configure(repo, new FileInfo("logging.config"));
}
logging.config
сохраняет файл журнала как console_debug.log
.
Хорошо, тогда, если я запускаю из приложения WPF процесс
var startInfo = new ProcessStartInfo();
startInfo.FileName = "PathToConsoleExe";
...
using (Process pr = new Process())
{
pr.StartInfo = startInfo;
pr.Start();
pr.WaitForExit();
}
Проблема в том, что я не вижу никаких.log
файл для консольного приложения.Я не знаю почему.Журналы создаются только для WPF.
Если я запускаю консольное приложение через командную строку, он работает нормально.