问题标签 [slf4net]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
8246 浏览

c# - 如何使用 AutoFac 解析正确的记录器类型?

我正在更新一个使用 AutoFac 的遗留项目,并且我想将 NLog 与简单日志记录外观 (SLF) 一起使用

我过去曾在 Ninject 中使用过它,而且它很容易设置,我只需要执行以下操作:

输出将类似于:

NLogNinjectSlf.Services.MyService 2013-12-30 15:21:10.5782 来自注入记录器的调试日志

小菜一碟

但是现在我必须使用 AutoFac 并且我不知道如何获取需要记录器的Target 类型

例如,如果我有以下接口/类:

我希望能够获取类的类型MyService以将其用作我的记录器的名称

在 AutoFac 中,这是我迄今为止尝试过的:

顺便说一句:我在 SLF4Net 后面使用 NLog 并不是真正需要解决主要问题......

0 投票
1 回答
407 浏览

c#-4.0 - Log4Net 以编程方式检索 Appender

我有一个单独的Log4Net.config文件,其中包含 2 个附加程序和 2 个记录器,每个附加程序有 1 个记录器。没有<Root />记录器。

我正在尝试向我的应用程序添加代码,该代码将检索记录器的文件名,以允许用户从应用程序菜单选择中查看每个附加程序的日志文件。我已经尝试了下面的代码,但它没有返回任何附加程序。我错过了什么?

我还应该提到我正在使用 slf4net.log4net 门面

0 投票
1 回答
121 浏览

log4net - 没有使用最新版本的 slf4net (1.0.0) 在代码中进行配置的日志记录

我正在使用 slf4net.log4net nuget 包来处理项目的日志记录。因为在运行时日志级别必须可以更改,所以我在代码中进行了配置。问题是此代码在 slf4net.log4net 版本 0.1.32.1 中运行良好,但是当我将其升级到版本 1.0.0 时,会创建日志文件,但日志文件中不存在日志。我创建了一个虚拟项目来显示这个问题。我看不到如何在此处添加 zip 文件,因此我将在此处发布代码。它是 net framework 4.7.2 中的控制台应用程序;

这个虚拟项目是在 .net 框架中创建的,但我需要在 .net 核心项目中使用它。这就是为什么我需要版本 1.0.0 。我还在 slf4net 的 github 页面上发布了这个问题(因为它看起来像一个错误):https ://github.com/ef-labs/slf4net/issues/6

关于堆栈溢出,我的主要问题是是否有解决方法,所以这可以与 slf4net.log4net 版本 1.0.0 一起使用