Я добавил NLog в разрабатываемое приложение WPF, используя файл NLog.config. Я добавил несколько сообщений журнала, которые были введены в файл журнала, когда я запустил приложение, все работало нормально.
Затем я решил вместо этого встроить NLog в файл app.config, что в соответствии с документацией возможно. Однако это не сработало вообще, файл журнала не был создан, а внутренняя регистрация не работала и на NLog. Для тестирования я решил создать пустое приложение WPF и встроить NLog в файл app.config с очень простой целью и правилом. Он ведет себя одинаково, никакой регистрации не происходит, а также нет внутренней регистрации в NLog. Когда я смотрю на мой файл WpfApp.dll.config, он использует файл app.config.
Я не уверен, что я делаю здесь неправильно, почему он не работает?
Отредактировано, чтобы добавить: У меня последняя версия NLog NuGet (4.7.0), и у меня нет файла NLog.config в этом приложении.
App.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog"/>
</configSections>
<nlog internalLogFile="C:\intlog.txt" internalLogLevel="Trace" throwexceptions="true">
<targets>
<target name="logfile" type="file" fileName="mylogfile.txt" />
</targets>
<rules>
<logger name="*" minlevel="Trace" writeTo="logfile" />
</rules>
</nlog>
</configuration>
MainWindow.xaml.cs
namespace WpfApp2
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
LogManager.ThrowExceptions = true;
Logger mylogger = LogManager.GetLogger("foo");
mylogger.Info("Program started");
InitializeComponent();
}
}
}