草庐IT

CURRENT_DEBUG_LOG_LEVEL

全部标签

c# - 在不使用 HttpContext.Current 的情况下确定 URL 主机名?

使用当前请求我可以获得URL主机名:HttpContext.Current.Request.Url.Host但是-我需要在不使用当前请求(HttpContext.Current)的情况下确定URL主机名。这样做的原因是,当找到SQL依赖项时,我的代码是从onChange回调中的SqlDependency调用的。尽管代码驻留在我的网络应用程序中,但没有请求,并且HttpContext.Current为空。我希望我可以从HttpRuntime中获取它,但那里似乎没有任何用处。我有什么办法可以获得这些信息吗? 最佳答案 如果您从Web应用

c# - Log4Net 在单独的配置文件中

我需要为一个新项目配置log4net。当我将所有信息保存在App.config文件中时,一切正常。我想把log4net的配置放在一个单独的配置文件中(拿App1.config)这是我的app.config完美运行:我删除了除之外的所有内容从我的app.config元素并将其放入我的app1.config中:在我的Program.cs类中,我用这样的程序集调用配置:[assembly:log4net.Config.XmlConfigurator(ConfigFile="App1.config",Watch=true)]但是当我使用App1.config时,我的文件中没有日志。

c# - 如何在运行时添加 log4net appender?

如何在运行时添加额外的日志附加程序?(所有预先存在的附加程序必须继续工作)我正在尝试这种方式:varlayout=newPatternLayout("%utcdate%-5level-%message%newline");layout.ActivateOptions();_log4netAppender=newFileAppender{Layout=layout,File=logFilePath,};_log4netAppender.ActivateOptions();BasicConfigurator.Configure(_log4netAppender);但它不会向文件写入任何内容

c# - log4net 输出文件但不输出到调试窗口

我正在尝试获取错误的输出以显示在附加的日志文件中以及调试窗口中。日志文件工作正常,但调试窗口中什么都没有显示。首先,这是我的配置然后我在我的代码中调用log4netlog.Debug("Debugerrorlogging",ex);log.Info("Infoerrorlogging",ex);log.Warn("Warnerrorlogging",ex);log.Error("Errorerrorlogging",ex);log.Fatal("Fatalerrorlogging",ex);这在我的日志文件中创建了5个条目,但在我的控制台窗口中没有条目。我还修改了我的web.confi

c# - 是否 (HttpContext.Current.User != null) 足以假设 FormsAuthentication 已对用户进行身份验证

在ASP.NET(2.0)应用程序中,我使用FormsAuthentication。在Global.asax/Application_AuthenticateRequest方法中,我检查HttpContext.Current.User是否为空。这是否足以了解表单例份验证cookie是否存在、票证是否过期以及表单例份验证机制是否已完成验证用户的工作?我需要这个,因为我在该应用程序中有某些页面,有时不需要访问身份验证(基于某些条件),我将它们放在web.config中的单独“位置”指令中,以便将它们从“捕获所有”表单例份验证中排除。即我正在尝试检查Application_Authentic

c# - 如何在 C# 中全局定义常量(如 DEBUG)

我想根据#define定义的常量以不同方式编译项目,如下所示:#defineUSE_COMPONENT_X#ifUSE_COMPONENT_X...#endif我可以在C#中做到这一点。但是当我转到同一个项目中的另一个文件时,这个常量没有定义。我能否以某种方式为所有项目定义一个常量,例如DEBUG是这样定义的? 最佳答案 您可以添加/define编译器开关。打开项目的属性页对话框。单击配置属性文件夹。单击构建属性页。修改条件编译常量属性。 关于c#-如何在C#中全局定义常量(如DEBUG

c# - 我们在哪里使用 Debug/Trace 语句

我使用C#(使用VSIDE)进行开发。我对调试/跟踪语句感到困惑。我们在哪里以及为什么使用这些语句?我经常在其他开发人员的源代码中看到这些。谁能指点一下? 最佳答案 Debug语句仅出现在Debug版本中。Trace语句存在于调试和发布版本中。为了调试或检查,您可以将Debug和Trace语句放在要输出某些值的地方。这篇MS支持文章可能会引起您的兴趣:HowtotraceanddebuginVisualC#TheTraceclassroutesmessagestolisteners:classesthataredesignedtoa

c# - log4net 何时将日志写入或提交到文件?

我们使用log4net来记录winform应用程序的事件和错误。我们的客户希望在应用程序运行期间检查日志文件。但我无法找出log4net何时以及如何进行写入(提交)操作。以及如何满足客户的要求,除了自己创建另一个记录器。有什么帮助吗?谢谢。 最佳答案 如果您使用的是FileAppender,这个appender继承了TextWriterAppender,这又暴露了ImmediateFlush属性(property)。默认情况下,此属性的值为true,并强制appender为每个Append操作在基础流上执行Flush()。根据您对客

c# - .NET/C# 调试 : How to debug a classical heisenbug?

最近,我遇到了一个经典的Heisenbug.情况是这样的:我在一个面板中有一个树列表,即主视图,在右侧的另一个面板中有一个详细View,显示有关当前选定树节点的信息。(与Windows资源管理器非常相似。)当我向树中添加一个新节点时(想想在Windows资源管理器中右键单击一个文件夹并说“新建->文件夹”),新创建的节点被选中。问题是:右侧的详细View应该更新以显示新节点。然而,事实并非如此。我必须切换到另一个树节点一次,然后才能在详细View中看到有关新节点的信息。该错误很容易重现,并且在“发布”和“调试”构建配置中都会发生。但是:一旦我在事件处理程序中设置断点(用于“添加新节点”

c# - 从字符串创建强类型 log4net 级别

我注意到了log4net有一个强类型Levelclass.有谁知道是否有办法通过解析日志级别字符串来创建Level对象?例如:我想将错误级别字符串“ERROR”解析为等效的log4net.Core.Level.Error对象,对于其他日志记录级别也是如此。我编写了自己的(天真的)方法来执行此操作(见下文),但我希望log4net内部有一些东西可以为我执行此操作。谢谢!publicstaticLevelParseLevel(stringlevel){switch(level.ToUpperInvariant()){case"ALERT":returnlog4net.Core.Level.