草庐IT

Log4JLogger

全部标签

c# - 为什么 log4Net 中没有跟踪级别?

我只是想知道为什么没有tracelevel在log4Net中。这个级别似乎缺失了,我有时觉得有必要使用它,例如输出应用程序中正在执行的事件。此功能是partoflog4J.我知道我可以创建自定义关卡,就像我们所说的那样here但我不想把时间和精力花在我认为应该属于图书馆本身的事情上。您是否知道实现此功能的log4net扩展库,或者为什么它不是.net端口的一部分? 最佳答案 您可以使用扩展方法向log4net添加详细(或跟踪级别)。这是我正在使用的:publicstaticclassILogExtentions{publicstat

c# - 无法让 log4net 使用 .net Windows 服务

我有一个带有app.config和log4net.config的Windows服务。app.config:log4net.config:我也在AssemblyInfo.cs中添加了这个:[assembly:log4net.Config.XmlConfigurator(Watch=true)]在我的一门课上,我有:privatereadonlyILog_log=LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);和_log.Info(content);我已授予所有用户对我的日志文件夹的完全权限。我的bin文件

c# - Log4Net - 如何添加仅用于特定代码部分的第二个记录器

我正在使用Log4Net2.0,我让它按要求工作,但要为特定的日志语句添加另一个记录器。所有日志记录都完成到单个文件附加程序。我想做的改变是第3方应用程序触发包含调试/错误信息的事件,我可以捕获此信息,虽然有用但我觉得它会污染正常的应用程序日志文件,而是希望将其存储在自己的日志中文件。我想要的最终结果是一个名为log-file.txt的文件,其中包含应用程序的所有日志记录(第3方日志记录除外)。还有一个名为log-file-3rdparty.txt的第二个文件,仅从第3方应用程序进行日志记录。我遇到的问题是将Log4Net设置为有2个独立的记录器。我已经尝试创建第二个LogFileAp

c# - 如何在Asp.net core 2.0中使用log4net

我在我的asp.netcore2.0应用程序中配置了log4net,如本文所述LINK程序.cspublicstaticvoidMain(string[]args){varlogRepository=LogManager.GetRepository(Assembly.GetEntryAssembly());XmlConfigurator.Configure(logRepository,newFileInfo("log4net.config"));BuildWebHost(args).Run();}家庭ControllerpublicclassHomeController:Control

c# - 如何在 log4net appender 名称中使用 GlobalContext 属性?

我正在尝试自定义log4net文件路径以使用我在log4net.GlobalContext.Properties字典中设置的属性。log4net.GlobalContext.Properties["LogPathModifier"]="SomeValue";通过调试可以看到这个值设置正确。然后在我的配置中但是,它的输出在路径末尾给出了“_(null).log”。给了什么? 最佳答案 我遇到了相同的行为并通过在调用XmlConfigurator之前设置全局变量来解决它...这是我成功使用的内容:log4net.config详细信息:.

c# - 无法识别的配置部分 log4net

我在web.config中有这段代码:并且我已经下载了log4net.dll并将其放在Bin文件夹中。在我的一个aspx.cs页面中,我添加了这段代码:usinglog4net;[assembly:log4net.Config.XmlConfigurator(Watch=true)]privatestaticreadonlylog4net.ILoglog=log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);但它给出了错误,因为Unrecognizedcon

c# - 你能从 web.config 文件的其他地方提取 log4net AdoNetAppender 的 connectionString 吗?

我的web.config文件中已经有一个数据库连接字符串。我扫描了log4net文档,但似乎找不到在我的web.config文件的log4net部分中使用它的方法。有可能做这样的事情吗?... 最佳答案 可以在不创建新类的情况下使用web.config中指定的数据库连接字符串,尽管您需要使用尚未发布的log4net构建。它可以从SVN存储库下载http://svn.apache.org/viewvc/logging/log4net/trunk/您的配置将如下所示:...请注意,connectionType仍然需要指定。

c# - 你如何通过 log4net 记录机器名称?

我将Log4Net与AdoNetAppender结合使用,将来自简单系统托盘应用程序的消息记录到SQLServer2005数据库中。我想记录机器名称和日志消息,因为此应用程序将在多台机器上运行,我需要知道消息源自哪一台。但是,我找不到通过与附加程序一起使用的log4net.Layout.PatternLayout公开此信息的方法。有没有办法以这种方式通过log4net记录机器名称? 最佳答案 您可以使用预先填充的属性log4net:HostName,例如:这样您就不需要填充MDC。 关于

c# - 让 log4net 使用应用程序配置文件来获取配置数据

我想将log4net配置数据存储在我的application.config文件中。根据我对文档的理解,我做了以下事情:添加对log4net.dll的引用在AssemblyInfo.cs中添加以下行:[assembly:log4net.Config.XmlConfigurator(Watch=true)]按如下方式初始化记录器:privatestaticreadonlyILoglog=LogManager.GetLogger(typeof(frmWizard));我的app.config中有以下代码:但是,当我运行该应用程序时,我在控制台上收到以下错误:Noappendernamed[C

c# - log4net:配置为忽略来自特定类的消息

有没有办法让log4net配置忽略特定类?比如我们一般在每个类(class)都会创建一个日志。类似这样:privatestaticreadonlyILogLog=log4net.LogManager.GetLogger("MyClass");问题是MyClass记录了大量数据,很难找到有关其他类的信息。它是另一个使用MyClass的开发人员,所以我不能直接进入并更改日志文件,但在我的环境中我想忽略这些。我能否将我的配置文件设置为忽略来自特定类的消息? 最佳答案 当然,使用filter.这是博客上发布的片段,以供日后引用-全部归功于该