c# - 如何在 WPF 应用程序中使用 App.config 进行 log4net 配置

标签 c# wpf log4net app-config rollingfileappender

我目前正在处理现有控制台应用程序的 WPF 版本。 在控制台应用程序中,我使用 log4net 进行所有日志记录。 因此,我在 App.config 文件中配置了所有附加程序等。 在控制台应用程序中一切正常。

现在我想在我的 WPF 应用程序中实现相同的日志记录功能。 我不得不说我在 WPF 中是全新的,这是我的第一个 WPF 项目。 我只是尝试将 App.config(完全相同)添加到我的 WPF 项目中,就像我在我的控制台应用程序中一样。 但它不起作用。 FileAppenders 不创建任何文件。但我在编译时也没有收到任何错误或警告。

我必须做什么才能获得与我的控制台应用程序中相同的 log4net 日志记录功能? 我如何在 WPF 应用程序中配置 log4net(Appenders)?

提前致谢

xxxxxx 编辑 xxxxxx

根据罗伯茨的提示,我可以解决它。 我加了

log4net.Config.XmlConfigurator.Configure()

到我的主窗口。现在,我的日志记录工作方式与我的控制台应用程序中的工作方式完全相同。

public MainWindow()
    {
        // check if Application is already running
        // if it is running - Kill
        if (System.Diagnostics.Process.GetProcessesByName(System.IO.Path.GetFileNameWithoutExtension(System.Reflection.Assembly.GetEntryAssembly().Location)).Length > 1) System.Diagnostics.Process.GetCurrentProcess().Kill();
        log4net.Config.XmlConfigurator.Configure(); 
        InitializeComponent();
    }

最佳答案

您需要在启动时调用 log4net.Config.XmlConfigurator.Configure()

关于c# - 如何在 WPF 应用程序中使用 App.config 进行 log4net 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25282076/

相关文章:

c# - 存储 key 的最佳实践

c# - WPF 中音频播放的框架是什么?

Log4net 和 Unity 注册

c# - 如何使用log4net创建log.txt?

javascript - 添加 MasterPage 时 ScriptManager.RegisterClientScriptBlock 不再工作

c# - 在 .NET core/.NET Standard 中重用 Task<T>

c# - 如何在 MEF 和任何 IoC 容器之间做出选择?

c# - WPF MVVM,我应该把 View 的特定属性放在哪里?

c# - 调用 log4net 包装器方法后未在日志中获取文件名和行号

c# - Microsoft Kinect SDK 1.6 缺少 KinectSensorChooser 组件?