草庐IT

c# - 如何在 log4net appender 名称中使用 GlobalContext 属性?

我正在尝试自定义log4net文件路径以使用我在log4net.GlobalContext.Properties字典中设置的属性。log4net.GlobalContext.Properties["LogPathModifier"]="SomeValue";通过调试可以看到这个值设置正确。然后在我的配置中但是,它的输出在路径末尾给出了“_(null).log”。给了什么? 最佳答案 我遇到了相同的行为并通过在调用XmlConfigurator之前设置全局变量来解决它...这是我成功使用的内容:log4net.config详细信息:.

c# - 无法识别的配置部分 log4net

我在web.config中有这段代码:并且我已经下载了log4net.dll并将其放在Bin文件夹中。在我的一个aspx.cs页面中,我添加了这段代码:usinglog4net;[assembly:log4net.Config.XmlConfigurator(Watch=true)]privatestaticreadonlylog4net.ILoglog=log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);但它给出了错误,因为Unrecognizedcon

c# - 你能从 web.config 文件的其他地方提取 log4net AdoNetAppender 的 connectionString 吗?

我的web.config文件中已经有一个数据库连接字符串。我扫描了log4net文档,但似乎找不到在我的web.config文件的log4net部分中使用它的方法。有可能做这样的事情吗?... 最佳答案 可以在不创建新类的情况下使用web.config中指定的数据库连接字符串,尽管您需要使用尚未发布的log4net构建。它可以从SVN存储库下载http://svn.apache.org/viewvc/logging/log4net/trunk/您的配置将如下所示:...请注意,connectionType仍然需要指定。

c# - 你如何通过 log4net 记录机器名称?

我将Log4Net与AdoNetAppender结合使用,将来自简单系统托盘应用程序的消息记录到SQLServer2005数据库中。我想记录机器名称和日志消息,因为此应用程序将在多台机器上运行,我需要知道消息源自哪一台。但是,我找不到通过与附加程序一起使用的log4net.Layout.PatternLayout公开此信息的方法。有没有办法以这种方式通过log4net记录机器名称? 最佳答案 您可以使用预先填充的属性log4net:HostName,例如:这样您就不需要填充MDC。 关于

c# - 让 log4net 使用应用程序配置文件来获取配置数据

我想将log4net配置数据存储在我的application.config文件中。根据我对文档的理解,我做了以下事情:添加对log4net.dll的引用在AssemblyInfo.cs中添加以下行:[assembly:log4net.Config.XmlConfigurator(Watch=true)]按如下方式初始化记录器:privatestaticreadonlyILoglog=LogManager.GetLogger(typeof(frmWizard));我的app.config中有以下代码:但是,当我运行该应用程序时,我在控制台上收到以下错误:Noappendernamed[C

c# - log4net:配置为忽略来自特定类的消息

有没有办法让log4net配置忽略特定类?比如我们一般在每个类(class)都会创建一个日志。类似这样:privatestaticreadonlyILogLog=log4net.LogManager.GetLogger("MyClass");问题是MyClass记录了大量数据,很难找到有关其他类的信息。它是另一个使用MyClass的开发人员,所以我不能直接进入并更改日志文件,但在我的环境中我想忽略这些。我能否将我的配置文件设置为忽略来自特定类的消息? 最佳答案 当然,使用filter.这是博客上发布的片段,以供日后引用-全部归功于该

c# - 在 Web 应用程序中配置 Log4Net

我有以下代码和配置文件:ILoglog=LogManager.GetLogger(typeof(MyClass));log.Debug("Testing");TestProj目录未创建,如果我创建它,则没有TestLog.txt文件,没有日志...什么都没有。有什么想法吗?谢谢,配置文件 最佳答案 您需要调用XmlConfigurator的Configure函数log4net.Config.XmlConfigurator.Configure();在您的第一次登录调用之前调用或在您的Global.asax中调用,如下所示:protec

c# - log4net 将在哪里创建这个日志文件?

当我将文件值设置为logs\log-file.txt时,它究竟会在哪里创建这个文件夹?在/bin目录下?我的web.config看起来像这样:这是正确的记录方式吗:ILoglogger=LogManager.GetLogger(typeof(CCController));logger.Error("SomePage",ex);//whereexistheexceptioninstance 最佳答案 如果您希望将日志文件放置在指定位置,该位置将在运行时决定,可能是您的项目输出目录,那么您可以以这种方式配置您的.config文件条目然后

c# - 如何检查用户是 "logged in"?

我在我的ASP.NET应用程序中通过以下方法使用表单例份验证FormsAuthentication.RedirectFromLoginPage(txtUsername.Text,true);如何检查用户是否登录?以及如何获取已登录用户的用户名? 最佳答案 我设法找到了正确的。它在下面。boolval1=System.Web.HttpContext.Current.User.Identity.IsAuthenticated编辑此编辑归功于@GianpieroCaretti谁在评论中提出了这个建议。boolval1=(System.We

c# - log4net 层次结构和日志记录级别

Thissite说Loggersmaybeassignedlevels.Levelsareinstancesofthelog4net.Core.Levelclass.Thefollowinglevelsaredefinedinorderofincreasingpriority:ALLDEBUGINFOWARNERRORFATALOFFDEBUG的优先级似乎最低,而ERROR的优先级较高。问题如果我设置Min和Max示例DEBUG和ERROR,它会打印所有DEBUG、INFO、WARN和ERROR。不使用最小和最大过滤器。如果我指定ERROR(Logginglevel=ERROR)它会包