草庐IT

binary-log

全部标签

c# - 如何为类库包含 log4net?

我想将日志记录功能实现到一个类库中,该类库本身在Web服务中被引用。我尝试添加app.config并完成所需的一切,但似乎在抛出异常时,log4net什么都不做。我的应用程序配置在AssemblyInfo.cs中:[assembly:log4net.Config.XmlConfigurator(ConfigFile="app.config")]在LogManager.cs中:privatestaticreadonlyILogLog=log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);publ

c# - Log4net - 使用继承时的最佳策略

我在我的应用程序中集成了log4net。我有一些帮助方法来帮助记录调用log4net。重构时,我打算将这些方法移到基类中,这样代码就不会在其他派生类中重复。在没有继承模型的情况下,以下在每个类中都能正常工作privatestaticreadonlyILogLog=LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);将以上内容放在基类中将返回声明类型作为基类而不是派生类。将此声明移至基类的最佳方法是什么?目前,我可以想到几种方法来实现这一点,但没有发现它们是最佳的。 最佳答案

c# - 如何使用 log4net 使用 Threadpool 线程记录正确的上下文?

我试图找到一种方法来从一堆线程中记录有用的上下文。问题是很多代码是在通过线程池线程到达的事件上处理的(据我所知),因此它们的名称与任何上下文无关。这个问题可以用下面的代码来演示:classProgram{privatestaticreadonlylog4net.ILoglog=log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);staticvoidMain(string[]args){newThread(TestThis).Start("ThreadA")

C# WiX CustomAction session .Log。我在哪里可以找到日志?

我是WiX安装程序的新手。我正在使用Session.Log为进程记录一些有用的数据。session.Log("BeginregistertheVddsinterface.");但我不确定在哪里可以找到日志。是否有记录的默认路径?或者我是否需要指定我需要在安装程序.wxs文件中提供的路径? 最佳答案 您需要使用msiexec.exe从命令行运行安装程序,然后包含L命令行选项以指定要保存日志的位置。例如:msiexec/iapp.msi/l*vthelog.txt有关msiexec参数的更多信息,请参阅Command-LineOptio

c# - log4Net XmlHierarchyConfigurator

我在我的代码中使用Log4Net,当我的进程运行时它开始抛出这个奇怪的异常。这是我的Log4NetAppconfig,我仍然不确定这里缺少什么它像这样抛出log4net:ErrorXmlHierarchyConfigurator:cannotfindproperty[maxSizeRollBackups]tosetobjecton[log4net.Appender.FileAppender].配置: 最佳答案 将log4net.Appender.FileAppender更改为log4net.Appender.RollingFileA

c# - 将 base64Binary 转换为 pdf

我有base64Binary的原始数据。stringbase64BinaryStr="J9JbWFnZ......"如何制作pdf文件?我知道它需要一些转换。请帮助我。 最佳答案 第1步是将base64字符串转换为字节数组:byte[]bytes=Convert.FromBase64String(base64BinaryStr);第2步是将字节数组保存到磁盘:System.IO.FileStreamstream=newFileStream(@"C:\file.pdf",FileMode.CreateNew);System.IO.Bi

c# - 无法加载文件或程序集 'log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=1b44e1d426115821' 或其依赖项之一

我发现了几个与此问题相关的线程,但没有一个解决了我的问题。我之前一直在我的ASP.NET服务中使用log4netversion1.2.10.0。我已经将它更新到当前版本log4netv2.0.8.0,由于一些第三方库,我还在我的web.config中添加了以下行以支持/重定向旧版本。我也对这些Messages一头雾水内部异常:((System.IO.FileLoadException)ex.InnerException.InnerException).MessageCouldnotloadfileorassembly'log4net,Version=1.2.10.0,Culture=n

c#授予Windows用户 "Log On As Service"权限

如何授予用户对服务的LogOnAsService权限?我需要手动执行此操作,在services.msc应用程序中,我可以转到该服务,更改密码(设置与之前相同的密码),单击应用,我会收到一条消息:Theaccount.\postgreshasbeengrantedtheLogOnAsServiceright.我如何从代码中执行此操作,否则我每次运行应用程序时都必须手动授予此权限,这是不可能的@史蒂夫staticvoidMain(){//irrelevantstuffGrantLogonAsServiceRight("postgres");//irrelevantstuff}private

c# - 从 C++ 使用 Debug.Log

在Unity中制作C++插件时,使用起来更容易Debug.Log快速查看变量值,但此功能只能从C#端使用。这使得调试C++插件变得非常困难,因为Unity的调试器不支持它。std::cout不是一个选项,因为它没有显示在编辑器中。我查看了位于\Editor\Data\PluginAPI的UnityC++API但没有找到任何关于登录API的信息。关于如何在C++的编辑器日志中显示有什么建议吗? 最佳答案 这可以通过回调函数来完成。将指向函数的指针从C#发送到C++,将其存储在临时变量中。将Debug.Log放入该回调函数中,并允许它接

c# - 如何使用 Log4Net 在日志文件中获取当前用户名而不是 AppPool 标识

我们在ASP.NETMVC3应用程序中使用Log4Net,一切正常,但我们希望在日志文件中看到当前用户名而不是应用程序池的标识,这是我们正在使用的附加程序配置:true所以看起来属性:%username正在检索值:WindowsIdentity.GetCurrent().Name而不是我们需要的:HttpContext.Current.User关于我们如何在不创建自定义属性或额外的log4net派生类的情况下在web.config中轻松解决此问题的任何想法?如果可能的话,否则如果自定义属性是我们可以忍受的唯一方式,我想:)谢谢! 最佳答案