草庐IT

Creating-and-configuring-log-stre

全部标签

c# - 将 ILMerge 与 log4net 一起使用会导致 "inaccessible due to protection level"错误

我为我的log4net日志记录对象的初始化创建了一个包装类,以便更容易地在ThreadContext中建立自定义属性。这发生在我与许多其他有用函数一起建立的类库中。为了加入所有不同的库,我还使用“/internalize”开关向ILMerge添加了一个AfterBuild目标。ILMerge所针对的库内对此初始化方法的所有引用似乎都工作正常。但是,当我在其他地方引用这个合并库时。我的实现会引发保护级别错误。我已尝试向可选的排除(/internalize:excludes.txt)文件中添加各种内容,但这似乎不起作用。excludes.txt示例:log4net.Configlog4ne

c# - "nested if"与使用 F# 的 "if and"性能

以下代码导致slow1=1323ms、slow2=1311ms和fast=897ms。这怎么可能?此处:Nestedornotnestedif-blocks?他们提到Anymoderncompiler,andbythatImeananythingbuiltinthepast20years,willcompilethesetothesamecode.lets=System.Diagnostics.Stopwatch()letmutablea=1s.Start()foriin0..1000000000doifi 最佳答案 我已经从ild

c# - Visual Studio 显示 ReSharper 的 'Configure settings to improve performance' 通知

我正在使用VisualStudioProfessional201715.5.2和Resharper2017.3.1。每次我打开VS,它都会抛出通知Configuresettingstoimproveperformance.我尝试忽略此消息,但每次启动新实例时都会抛出它。当这不起作用时,我单击了消息,它带我进入了Resharper性能指南选项。我尝试更改正在使用的SourceControl插件的设置。。我将其值更改为忽略,但消息仍然存在。2Questions1.WhatisslowinginResharperforwhichVSthrowsthiserror?2.Whyisthisnot

c# - azure 函数 : configure blob trigger only for new events

我的Azure存储中有大约80万个blob。当我使用blobTrigger创建azure函数时,它开始处理存储中的所有blob。如何将我的函数配置为仅针对新的和更新的blob触发? 最佳答案 目前没有办法做到这一点。在内部,我们通过将收据存储在我们的控制容器azure-webjobs-hosts中来跟踪我们处理了哪些blob。任何没有收据的blob或旧收据(基于blobETag)将被处理(或重新处理)。这就是为什么要处理您现有的blob——它们没有收据。BlobTrigger目前旨在确保最终处理容器中与路径模式匹配的所有blob,并

c# - SmtpException : The client or server is only configured for e-mail addresses with ASCII local-parts 错误

SmtpClient.Send()当我尝试将电子邮件发送到包含重音字符(é)的地址时,方法抛出此异常:System.Net.Mail.SmtpException:Theclientorserverisonlyconfiguredfore-mailaddresseswithASCIIlocal-parts:léo.xxx@example.com.atSystem.Net.Mail.MailAddress.GetAddress(BooleanallowUnicode)atSystem.Net.Mail.SmtpClient.ValidateUnicodeRequirement(MailMe

c# - DDD : entity's collection and repositories

假设我有publicclassProduct:Entity{publicIListItems{get;set;}}假设我想找到一个最大的项目...我可以添加方法Product.GetMaxItemSmth()并使用Linq(fromiinItemsselecti.smth).Max())或使用手动循环或其他方式。现在,问题是这会将整个集合加载到内存中。正确的解决方案是进行特定的数据库查询,但域实体无权访问存储库,对吧?所以要么我做productRepository.GetMaxItemSmth(product)(这很丑,不是吗?),或者即使实体可以访问存储库,我也使用来自实体的IPro

c# - c#中带有过滤器的log4net纯代码配置

我试图完全通过代码配置Log4Net,但是当我使用最小配置时,我被来自NHibernate和流畅界面的日志消息淹没了。所以,我要做的很简单。告诉Log4Net只显示我的单个类的日志消息。我玩弄了一下,但无法弄清楚...谁能帮忙,我想下面的代码说明了我的想法:varfilter=newlog4net.Filter.LoggerMatchFilter();filter.LoggerToMatch=typeof(DatabaseDirectory).ToString();filter.AcceptOnMatch=false;varx=newlog4net.Appender.ConsoleAp

c# - Firebase 3 : creating a custom authentication token using . 网络和 c#

我正在尝试使用自定义token实现Firebase3身份验证机制(如https://firebase.google.com/docs/auth/server/create-custom-tokens中所述)。我的服务器是ASP.NETMVC应用程序。因此,根据说明(https://firebase.google.com/docs/server/setup),我为我的Firebase应用程序创建了一个服务帐户,并生成了一个“.p12”格式的key。之后,根据此处的说明(https://firebase.google.com/docs/auth/server/create-custom-t

c# - 在基类中定义的 log4net 记录器

我想像这样在我的MVCController抽象基类中构建我的log4net记录器:protectedstaticreadonlyILogLog=LogManager.GetLogger(typeof(AuthorizedController));以这种方式,我可以一次定义记录器并完成它。唯一的问题是日志输出中的记录器属性将始终是AuthorizedController,如果我有FooController继承自AuthorizedController我想日志输出以反射(reflect)这一点。执行此操作的KISS、DRY和有效方法是什么? 最佳答案

c# - MSTest - 如何为 UnitTest 项目初始化 log4net?

我有一个用于测试ASP.NETMVC项目的VisualStudio单元测试项目。将程序集级log4net.Config.XmlConfigurator属性添加到AssemblyInfo.cs不起作用,SO上的其他人发现他们必须直接调用log4net.Config.XmlConfigurator.Configure();问题是,单元测试如何做到这一点?在类方法上使用Microsoft.VisualStudio.TestTools.UnitTesting.AssemblyInitialize属性的答案不起作用。对我来说,这段代码会导致在输出窗口中记录一个InvalidOperationEx