问题标签 [common.logging]

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 投票
1 回答
307 浏览

c# - Common.Logging.NLog32 无法使用 NLog 3.2.1.0?只在客户端?

我目前正在建立一个客户端服务器项目。我的服务器部分是一个 C# WebAPI 项目(net45)。我的客户端部分是一个 C# WPF 项目(net45)。

对于日志记录,我想将 Common.Logging 与 Common.Logging.NLog32 适配器一起使用。

起初我在服务器部分配置它,它就像一个魅力。我继续为 WPF 应用程序配置它,但在调用时它一直失败:

或者

异常告诉我它无法创建Common.Logging.NLog.NLogLoggerFactoryAdapter. 内部异常表明它在 3.2.0.0 版本中找不到带有 5120e14c03d0593c 的 PublicKeyToken 的 NLog 程序集。

在这两种情况下,服务器和客户端,我都安装了相同的 nuget 包。虽然服务器部分使用 NLog 3.2.1.0 程序集(与 Common.Logging.NLog32 一起出现)没有问题,但客户端仍然无法加载它。

任何想法为什么行为不同以及如何在不手动加载确切的 NLog 版本的情况下解决这个问题?

0 投票
3 回答
6097 浏览

asp.net-mvc - 如何启用 Common.Logging.Log4Net

我正在尝试启用 Common.Logging.Log4Net 将所有类型的日志写入日志文件。这些教程使它看起来很简单,但我不知道我做错了什么。这些是我正在采取的步骤:

  1. 创建一个新的 ASP.NET MVC 空项目
  2. 安装“通用日志记录 Log4Net 1211”NuGet 包
  3. 将以下行添加到默认 web.config:

    /li>
  4. 确保应用程序。池身份帐户对我尝试保存日志文件的路径具有 RW 访问权限。

  5. 出于测试目的从代码中抛出一个随机异常。

我错过了什么吗?有没有办法调试 log4net?请帮助这个可怜的灵魂。谢谢你。

0 投票
1 回答
603 浏览

log4net - 以编程方式配置 Log4NetLoggerFactoryAdapter(再试一次)

这个问题在这里被问到,但是解决方案不是程序化配置。在这种情况下,库Wrapper.dll已正确配置为Common.Logging. 控制台应用程序ConsoleApplication1.exe尝试实现Log4NetLoggerFactoryAdapter.

工作正常Wrapper.dll,从控制台发送日志条目。

app.config:_

内的代码ConsoleApplication1

不起作用。它不会将日志条目发送Wrapper.dll到控制台。app.config:_

内的代码ConsoleApplication1

使用编程解决方案,我可以从适配器或从成功使用GetLoggerConsoleApplication1log4net我无法从“包装器”库中使用的记录器中传播日志事件。

请注意,在工作正常的情况下,我已允许 xml 并评论了编程调用。在不起作用我已经注释了相关的 xml 并实现了编程代码。另请注意,这是一个简单的示例。真正的应用程序正在尝试使用Common.Logging从 Matlab 实现的 .NET 库。

0 投票
2 回答
1784 浏览

ninject - Quartz.Net,使用 Log4Net 和 Common.Logging 进行日志记录会引发“未知日志级别”

我有一个 Azure 云服务,它使用 Quartz.Net (2.3.2) 来运行计划任务。我的主要日志引擎是 Log4Net (2.0.3) ,我正在使用 Common.Logging.Log4Net1213 (3.0.0) 来连接 Common.Logging 和 Log4Net。我正在使用我自己的“NinjectJobFactory”来创建所有作业及其依赖项(它实现了 IJobFactory)。我的计划启动代码如下所示:

一切都非常适合正常的日常日志记录(Quartz 启动和关闭、NServiceBus 启动、任务启动、作业内的异常处理等)。我遇到的问题是,上面的任何行中都有一个致命的异常,它会阻止 Quartz 启动。(通常,这是因为我未能正确包含或配置其中一项工作所需的依赖项)。在这些情况下,我没有记录真正的问题,而是在 Log4NetLogger.cs 中得到一个异常,抱怨未知的日志记录级别,并且永远不会出现或记录底层异常。我必须中断捕获的异常才能看到底层异常。任何人都可以建议修复吗?提前致谢!

堆栈跟踪如下所示:

Microsoft.WindowsAzure.ServiceRuntime 严重:1:未处理的异常:System.ArgumentOutOfRangeException:未知的日志级别参数名称:logLevel 实际值为错误。在 Common.Logging.Log4Net.Log4NetLogger.GetLevel(LogLevel logLevel) 在 c:_oss\common-logging\src\Common.Logging.Log4Net129\Logging\Log4Net\Log4NetLogger.cs:Common.Logging.Log4Net.Log4NetLogger 的第 180 行。 WriteInternal(LogLevel logLevel, Object message, Exception exception) in c:_oss\common-logging\src\Common.Logging.Log4Net129\Logging\Log4Net\Log4NetLogger.cs:Common.Logging.Factory.AbstractLogger.Error(Object) 的第 140 行消息,异常异常)在 c:_oss\common-logging\src\Common.Logging.Portable\Logging\Factory\AbstractLogger.cs:c 中 Quartz.Simpl.SimpleThreadPool.WorkerThread.Run() 的第 806 行:

我在 app.config 中的 common.logging 配置是:

最后,我的 log4net.config 是:

0 投票
2 回答
501 浏览

azure - Log4Net + Common.Logging + Azure = 空日志文件

我有一个 Azure 工作者角色,我希望更新日志记录(该项目有现有的日志记录,尽管我不相信它曾经工作过)。它设置为使用 Common.Logging,但使用 Log4Net。我在 Log4Net 中设置了 2 个附加程序——一个用于 ElasticSearch,一个用于滚动文件——它们都没有记录任何输出。

在worker角色的app.config中,我配置了log4net,后面是Common.Logging:

我倾向于认为配置中有问题。但是,RollingFile appender 确实创建了 c:\tmp\log4net_rollingfile.log,所以我无法解释为什么实际上什么都没有写入文件。此外,没有数据发送到 ElasticSearch。

使用“log4net.Internal.Debug”打开 Log4Net 诊断程序后,我可以看到附加程序正在加载:

0 投票
0 回答
136 浏览

c# - 常见的日志记录问题

我正在处理 WPF 项目的项目,它在尝试解析 Main xml 文件时给我的错误是:

无法加载程序集或文件“Common.Logging”。

我从 NuGet 安装了对 Common.Logging 的引用,但是对于 3.4 版而不是 2.0.0 版的错误版本。普通日志记录不向后兼容吗?

0 投票
1 回答
7194 浏览

c# - 无法加载文件或程序集“Common.Logging,版本 = 3.0.0.0”

我试图在我的项目中使用 log4net,所以我配置了 log4net,创建了一个 appender 并创建了 ILog 对象,甚至尝试写入 eventviewer 并且它有效,这是 ILog 的定义。但是当我试图将日志传递给另一个类时,我得到了这个异常:

无法加载文件或程序集“Common.Logging,版本 = 3.0.0.0。文化=中性...

0 投票
2 回答
1001 浏览

c# - Quartz.net - 无法加载文件或程序集 Common.Logging Version=3.0.0.0

我在我的项目中使用 Quartz.net,突然我得到了这个异常:

无法加载文件或程序集 'Common.Logging,版本 = 3.0.0.0...

我不知道它为什么会弹出,一切都很好,石英工作,突然它没有。为什么?

0 投票
1 回答
1552 浏览

c# - 如果 Common.Logging 正在使用,NLog 的变量可以通过编程方式修改吗?

我有一个 NLog 变量,我想在运行时在 C# 中设置它的值:

但那是 NLog 代码。我正在考虑使用 Common.Logging 而不是直接使用 NLog。我看不到如何通过 Common.Logging 做这种事情。有办法吗?

或者,也许有办法在运行时从 NLog 配置文件本身中做到这一点?所以 Common.Logging 可以回避?例如,类似:

最好在第一次使用时调用该函数一次,而不是每次引用变量时都调用该函数?

0 投票
1 回答
242 浏览

c# - Common.Logging 中 NLog 的 ConditionalDebug?

NLog 有两种不同类型的“记录调试消息”调用:Debug() 和 ConditionalDebug()(类似 Trace() 和 ConditionalTrace())。不同之处在于,对于发布版本,“条件”调用甚​​至不会发送到已编译的 exe/dll/whatever 中。

我在 Common.Logging 中看不到对此功能的支持。我错过了它,还是不支持?如果不支持,是否还有其他支持它的好的日志抽象层?提前致谢。