草庐IT

log4j-like

全部标签

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

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

c# - 如何使用局部变量作为类型?编译器说 "it is a variable but is used like a type"

在运行时,我不知道什么类型的变量v1是。为此,我写了很多ifelse声明:if(v1isShellProperty){v2=(v1asShellProperty).Value;}elseif(v1isShellProperty){v2=(v1asShellProperty).Value;}elseif(v1isShellProperty){v2=(v1asShellProperty).Value;}elseif(v1isShellProperty){v2=(v1asShellProperty).Value;}唯一的区别在于ShellProperty.所以不要用很多ifelse来写这篇文

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# - 为什么要在 log4net 中调用 IsDebugEnabled?

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

c# - 使用 C# SDK 的 Facebook Like 功能

我想显示以了解何时单击facebook点赞按钮,并在单击验证按钮时将点赞发布到粉丝页面。我想使用FacebookC#SDK。这是我的代码:HTMLYourWebsiteTitleVerify(function(d,s,id){varjs,fjs=d.getElementsByTagName(s)[0];if(d.getElementById(id))return;js=d.createElement(s);js.id=id;js.src="https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v3.0";fjs.parent

c# - 只读 ("const"-like) C# 的函数参数

我有C++背景,习惯于将const关键字添加到函数定义中,以使对象以只读值传递。但是,我发现这在C#中是不可能的(如果我错了请纠正我)。经过一番谷歌搜索后,我得出的结论是,创建只读对象的唯一方法是编写一个仅具有“get”属性的接口(interface),然后将其传入。优雅,我必须说。publicinterfaceIFoo{IMyValInterfaceMyVal{get;}}publicclassFoo:IFoo{privateConcreteMyVal_myVal;publicIMyValInterfaceMyVal{get{return_myVal;}}}我会将它传递给:publi

C#构造参数查询SQL - LIKE %

我正在尝试在C#中为包含LIKE%%命令的查询构建SQL参数查询。这是我想要实现的目标(请注意数据库是Firebird)varSQL=string.format("SELECT*FROM{0}WHERE{1}LIKE'%?%'",TABLE,NAME);cmd.Parameters.AddWithValue(NAME,"JOHN");现在我已经尝试了每一个排列来使参数起作用,我已经尝试过了;在参数中添加%字符,cmd.Parameters.AddWithValue(NAME,"%"+"JOHN"+"%");或cmd.Parameters.AddWithValue(NAME,"'%"+"

javascript - Casperjs 捕获 console.log 和 console.error

我正在尝试通过casperjs捕获站点console.log和console.error。在console.log的情况下,我有工作代码:casper.on('remote.message',function(message){this.echo('remotemessagecaught:'+message);});但我不知道如何捕获console.error。我需要这个来捕获任何资源错误(比如找不到图像)。 最佳答案 还有page.error处理程序:casper.on("page.error",function(msg,trac

javascript - 在 JavaScript 中模拟 SQL LIKE

如何在JavaScript中模拟SQL关键字LIKE?对于那些不知道LIKE是什么的人来说,这是一个非常简单的正则表达式,它只支持通配符%,它匹配0个或多个字符,并且_恰好匹配一个字符。但是,不仅可以执行以下操作:varmatch=newRegEx(likeExpr.replace("%",".*").replace("_",".")).exec(str)!=null;...因为该模式可能包含点、星号和任何其他特殊的正则表达式字符。 最佳答案 只要您首先转义模式中的正则表达式字符,您所拥有的就会起作用。下面是来自SimonWilli