草庐IT

m_debug_log

全部标签

c# - log4net/EventLogAppender 忽略了我的 LogName

此配置应该使我的日志条目最终出现在自定义日志中,对吧?但它最终出现在应用程序日志中。我的应用程序以管理员身份运行。运行我的应用程序后,我可以确认日志和事件源是使用EventLog.Exists("MyLog")和EventLog.SourceExists("MyApplication")创建的。编辑:我发现了问题所在,但在8小时过去之前我无法“self回答”我的问题。 最佳答案 我发现了问题。事件View中的刷新不显示新日志。我必须重新启动事件查看器才能看到我设法创建的自定义日志。尽管我指定了日志名称,但我的大部分日志条目最终都出现

c# - 如何配置 log4net consoleappender 以根据 Level 写入 Console.Err 和 Console.Out?

当我在logger.Warn下面做任何事情时,我想写信给Console.Out然后我想写信给Console.Err当我记录任何logger.Error及以上的内容时。我将如何编写我的log4net配置文件?到目前为止我有: 最佳答案 您可以创建两个附加程序,并以不同方式配置它们。像(未经测试):编辑:更正了levelMin与levelMax的逻辑错误。 关于c#-如何配置log4netconsoleappender以根据Level写入Console.Err和Console.Out?,我们

c# - 单元测试是否使 Debug.Assert() 变得不必要?

我准备好麦康奈尔的“CodeComplete”已经有一段时间了。现在我在Hunt&Thomas的“ThePragmaticProgrammer”中再次阅读它:使用断言!注意:不是单元测试断言,我的意思是Debug.Assert()。遵循SO问题WhenshouldIuseDebug.Assert()?和Whentouseassertionoverexceptionsindomainclasses断言对开发很有用,因为可以很快找到“不可能”的情况。而且它们似乎很常用。据我了解,断言在C#中通常用于检查输入变量的“不可能”值。为了使单元测试尽可能简洁和独立,我使用null和“不可能的”虚拟

c# - 如何加密log4net日志文件

有什么方法可以加密或保护log4net输出吗? 最佳答案 我假设您想加密日志的输出。在这种情况下,您将需要编写自己的Appender来处理加密。我建议弄清楚您打算在不加密的情况下使用哪种输出机制(即FileAppender、EventLogAppender等),然后扩展该Appender并覆盖实际写出输出的功能。可以找到关于appender的引用文档here.例如,使用EncryptedFileAppender扩展FileAppender并覆盖/实现您需要的成员,以便挂接到文件写入。或者,您可以从IAppender扩展并完全从头开始

c# - 'Debug.Assert' 语句在 Mono 中不起作用

我这里有这个程序:namespaceTodoPlus{usingSystem.Diagnostics;publicclassLameProg{publicLameProg(){}publicstaticvoidMain(string[]args){inta=2;intb=3;Debug.Assert(a==b,"Bleh");System.Console.WriteLine("Haha,itdidn'twork");}}}不知何故,Debug.Assert不工作。我正在使用Mono2.10.5,这是我用来编译和执行的:dmcsLameProg.csmono./LameProg.exe我

c# - Debug vs Release in optimization of .net(分发给用户时的顾虑)

向公众分发Debug与Release构建是否存在任何安全或性能问题?大多数时候我只是将.exe文件打包到Debug文件夹中(连同所需的依赖项)并将其提供给用户。有什么理由比另一个更喜欢分发吗? 最佳答案 是的,当然有-安全和性能方面的影响。调试版本比发布版本包含更多信息,并且许多编译器优化已针对调试版本关闭。另见Debug/Releasedifference在这里。Arethereanyreasontopreferonemorethantheothertobedistributed?是的。如果您想拥有一个经过优化编译的更快的二进制文

c# - WPF DotNET 应用程序将在 Debug模式下运行,但 .EXE 将不会运行

我使用VS2010在C#中编写了一个WPF应用程序。该应用程序可以使用VisualStudio在Debug模式下正常运行,但是当我从bin\release文件夹运行.EXE时,没有任何反应。我没有从Windows收到任何错误消息,VS中也没有错误或警告。我曾尝试构建、重建和清理解决方案(以各种可能的顺序),但没有成功。我的解决方案包含2个项目,它们都使用.NET4.0框架,我的PC上安装了.NET4.0。我在XP和Win7上都试过了,但仍然没有。我还刚刚注意到,当我在Debug模式下运行应用程序时,Debug的输出显示:在加载每个.Dll后“无法找到或打开PDB文件”。我每次都编译到R

c# - 在 C# 中计算整数 log2 的最快方法是什么?

如何最有效地计算C#中整数(对数基数2)所需的位数?例如:intbits=1+log2(100);=>bits==7 最佳答案 轻微对Guffa答案的改进...由于您添加到结果中的数量始终是2的幂,因此使用位操作可以在某些体系结构上产生轻微的改进。此外,由于我们的上下文是位模式,因此使用十六进制更易读。在这种情况下,将算术移动2的幂是有用的。intbits=0;if(n>0xffff){n>>=16;bits=0x10;}if(n>0xff){n>>=8;bits|=0x8;}if(n>0xf){n>>=4;bits|=0x4;}i

c# - 控制台应用程序的 log4net 配置

谁能建议如何为控制台应用程序配置log4net?或者至少如何/在何处捕获Application_Start事件?(似乎此时需要一些调用)提前致谢! 最佳答案 尝试写作[assembly:log4net.Config.XmlConfigurator(Watch=true)]在AssemblyInfo.cs中就是这样! 关于c#-控制台应用程序的log4net配置,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.

c# - 如何在 C# 中使用 Console.Log、Print_R()、Debug.Trace?

PHP有一个名为print_r()和var_dump()的函数,可以显示项目的所有内容。这使得弄清楚事物是什么变得非常容易。在C#中有类似的东西吗?我知道C#中有一个Console.WriteLine("Hello");,但这在MVC中有效吗?我可以在运行应用程序时像flash那样在调试控制台中执行某种类型的debug.trace()吗? 最佳答案 System.Diagnostics.Debug.WriteLine("blah");为了显示对象中的所有变量,您必须覆盖其ToString()方法或编写一个方法来返回您需要的所有对象信