草庐IT

request-log-analyzer

全部标签

c# - 在 log4Net 中关闭记录器实例的正确方法

我有一个类,我为其每个实例创建了一个新的记录器,并为其附加了一个缓冲区附加程序和一个动态附加程序。一切都在运行时完成,没有从配置文件中提取任何信息。现在要在类的自定义处置方法中释放资源,我需要关闭该特定记录器并释放其所有附加资源以避免任何内存泄漏。目前我一直在做的是至少刷新文件附加程序并写入所有日志信息,但既不会释放对该特定日志文件的锁定,也不会释放其任何资源。关闭记录器而不关闭其他正在处理的事件记录器的正确方法是什么log4net.ILoglog=log4net.LogManager.GetLogger(loggerName);foreach(IAppenderiappinlog.L

c# - 为asp.net MVC3项目配置log4net

好的,所以我了解了如何在我的应用程序中配置log4Net,但是现在首先如果应用程序是发布版或调试版,我想通过区分日志级别来改进配置,我该怎么做?第二,如果我的项目中有一个名为LOG的文件夹,我该如何设置配置,而不是使用我的应用程序的物理文件夹?例如代替:用过或 最佳答案 文档很简单:file:thefullorrelativepathtothelogfile.因此,您只需要完整路径,如C:\physicalpath\LOG\Log.log或相对路径,这需要以dotchar.开头,如.\App_Data\Log4Net.Logs也可以

c# - 获取 "The WebResource.axd handler must be registered in the configuration to process this request."错误

我在IIS7上运行我的ASP.NET应用程序时遇到此错误。我已经尝试按照它说的去做,但没有帮助。TheWebResource.axdhandlermustberegisteredintheconfigurationtoprocessthisrequest.>>>>>>>>>我正在使用一点AJAX,我认为这是导致问题的原因。有人遇到过这个吗? 最佳答案 我想通了,所以出于搜索原因我将其张贴在这里。这是ASP.NET中的一个错误,它与安装ColdFusion有关。Microsoft尚未发布修复程序。有两种方法可以解决这个问题。将IIS7

c# - 配置节 'log4net' 缺少节声明

我正在努力将log4net添加到我的MVC5项目中。我做了以下事情;Install-Packagelog4net已成功安装(我假设)log4net我在配置部分的web.config中添加了以下内容;并且我在web.config的configSections中添加了以下内容;我已将以下内容添加到我的Global.asax.cs;log4net.Config.XmlConfigurator.Configure();解决方案可以编译,但是当我尝试运行我的程序时出现错误;HTTPError500.19-InternalServerErrorTherequestedpagecannotbeacc

c# - Log4Net 性能

我编写了一个C#应用程序,它在一个循环中持续运行,多个线程写入一个log4net文件。问题是应用程序运行的时间越长,完成循环所需的时间就越多。我运行了ANTS性能分析器,并注意到大部分CPU时间都花在了使用log4.net进行日志记录上。日志越详细,它使用的CPU就越多,30分钟后它就使用了100%的CPU。如果我禁用日志记录,循环所花费的时间会随着时间的推移保持不变。我查看了Windows性能监视器,物理磁盘大部分时间处于空闲状态。我已尝试将日志记录保持在最低限度,但即使日志记录量相对较少,我仍然遇到问题。这是我的Log4net.xml配置文件的示例:我使用来自每个记录对象的相同记录

c# - 发送不记名 token 时 API 端点返回 "Authorization has been denied for this request."

我按照教程在C#中使用OAuth保护WebAPI。我正在做一些测试,到目前为止,我已经能够从/token成功获取访问token。我正在使用名为“AdvancedRESTClient”的Chrome扩展来测试它。{"access_token":"...","token_type":"bearer","expires_in":86399}这是我从/token得到的。一切看起来都很好。我的下一个请求是我的测试APIController:namespaceAPI.Controllers{[Authorize][RoutePrefix("api/Social")]publicclassSocia

c# - 脚本资源错误 : This is an invalid script resource request

我们偶尔会发现这个错误。有谁知道它会是什么?我们的错误记录给出的URL为这个错误得到了这个奇怪的url:http://ourWebSite.com/ScriptResource.axd?d=-TlQhVhw2O9j_FRLgdQvFzJxWKYVH6aV62Jse0uO_9PoMsQJaDGiZYtRoBbTATQiWul69JuMDMqOA-yDDycgyNFrGPA_wlnKXZEyWGfJeCg1&t=3717b609错误是:错误:这是一个无效的脚本资源请求。我们还得到堆栈跟踪:System.Web.HttpException:Thisisaninvalidscriptresou

c# - 为什么要在 log4net 中调用 IsDebugEnabled?

我很好奇为什么我看到人们编写如下log4net日志记录代码:if(_logger.IsDebugEnabled){_logger.Debug("Somedebugtext");}我已经完成了log4net的反汇编,并且调用Debug会再次调用相同的代码以查看它是否在实际记录之前启用,因此IsDebugEnabled调用是不必要的,实际上是重复的代码。人们这样做有什么原因吗?也许在旧版本中曾经需要但不再需要的旧模式?还是有正当理由?或者也许人们只是不知道他们不需要这样做?其他级别(信息、错误、警告、最佳等)也有同样的行为。 最佳答案

c# - Request.Url.Host 和 ApplicationPath 一次调用

有没有办法在一次调用中获取HttpContext.Current.Request.Url.Host和HttpContext.Current.Request.ApplicationPath?像“完整的应用程序url”之类的东西?编辑:澄清-我需要的是[]中的部分:http://[www.mysite.com/mywebapp]/Pages/Default.aspx我只是出于好奇才问的。编辑2:感谢所有回复,但没有一个正是我要找的。仅供引用,我通过这种方式解决了问题(但我仍然想知道是否有更流畅的方法):publicstringGetWebAppRoot(){if(HttpContext.C

c# - Request.Url.Host 与 Request.Url.Authority

我继承了一个用C#编写的ASP.NETWeb应用程序。在整个站点的许多页面中,使用以下方法检索主机名:BaseHost=Request.Url.Host;因为我使用的是VisualStudio2012Express并且它安装在本地IISExpress服务器上,所以当我在本地调试/运行时,我似乎被附加到主机名(localhost)的端口号卡住了。上面的代码不会导致包含端口号,因此会中断代码生成的链接(菜单项链接、重定向等)。我看到我可以通过将代码更改为来解决这个问题:BaseHost=Request.Url.Authority;当我在本地运行时(localhost:4652)和发布到我的