- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我无法让 NLog 在 Windows Server 2012/IIS 8 下可靠地工作。这是一个 Azure 虚拟机(不是 webrole),所以事情应该很简单。最初我有 acync 包装器、基于数据库的目标等。但我已经将所有东西都剥离到最低限度,但似乎无法让它工作!
这是我的 NLog.config 文件:
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>
<targets>
<target xsi:type="File"
name="nsec"
fileName="${basedir}app_data/logs/nsec_${shortdate}.log"
createDirs="true"
layout="${longdate}|${level:uppercase=true}|${logger}|${aspnet-user-identity}|${message}"
/>
</targets>
<rules>
<logger name="NSec" minlevel="Trace" writeTo="nsec"/>
</rules>
</nlog>
如您所见,这里没有什么特别的。文件目标应该已写入 ./App_Data/Logs 目录,但大多数时候什么都没有写入那里。有时,文件中会写入一些内容……这是最令人气愤的部分!
本地在 Cassini 和 IIS Express 下,日志工作完美。
为了让 NLog 正常工作,我需要在我的 web.config 中添加什么吗?我什至没有使用 ASP.NET 包装器!
有谁知道 NLog 和 IIS8 之间有任何不兼容的问题吗?
更新
我在服务器上运行了 Process Monitor,发现甚至没有尝试写入、读取或查询日志文件。看起来好像 NLog 被完全彻底地忽略了。我知道 NLog.config 文件在启动时被读取,因为如果我输入无效配置,我在访问我的应用程序时会收到错误消息,因此 NLog 正在解析该文件。问题是,即使它正在被解析,有时也会记录一些东西,但大多数时候什么都没有发生,而且,正如使用 Process Monitor 所确认的那样,没有一次尝试访问/创建/写入日志文件。
具有讽刺意味的是,在 Process Monitor 上我可以看到其他 IIS 应用程序毫无问题地写入它们自己的 NLog 文件。只有这个特定的应用程序无法登录,但仅限于生产机器!
最佳答案
我刚刚发现,在 Uwe Kein 的帮助下,他建议我使用 Process Monitor 来查看是否存在任何权限问题,事实上,日志文件甚至从未被访问过。这让我想知道为什么......我刚刚意识到作为 NSec 记录器源的 HttpModule 根本没有运行,所以,事实上,实际上从未创建过任何日志。
出现这个问题是因为目标机器上的 web.config 在以前的部署中没有成功更新,所以 HttpModule 是以 IIS6 方式配置的...我不得不将它添加到模块部分,如下所示:https://stackoverflow.com/a/2935410/285678
很棒的是我刚刚添加了这个日志来尝试找出这个 HttpModule 没有按预期运行的原因,所以找出 NLog “不工作”的原因解决了这个问题(这是一个非常严重的问题,因为 HttpModule 与应用程序的安全系统有关!)
我试图关闭这个问题,因为它具有误导性,因为它根本不是 NLog 错误,但需要 50 票才能关闭!所以我会把它留给像我这样在绝望中在 StackOverflow 中提出“不太明智”问题的人的警告:-(
关于c# - 基本 NLog 文件目标在 IIS 8 和 Windows Server 2012 下不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19938501/
我想更改 nlog 布局,以便显示两个条目之间的时间。这样的布局可能吗? 这是我现在的输出,如果在时间旁边有自之前进入以来经过的秒数,那就太好了。 2012-05-20 19:18:41.09
使用 NLog v4.4.12,我的 App.config 中有这个 这是我的 Variables.xml 文件内容 但是我在启动我的应
我有一个名为 的自定义布局渲染器工作 .它提供了几个项目,它们在我们的 app.config 中是这样使用的: 当
NLog 是否可以发出多行消息,以便每行都根据当前布局进行格式化?例如。 2015-12-17 11:37:38.0845 | 64 | INFO | ------------------------
我刚开始玩 nlog,注意到 nlog.xml 文件与 nlog.dll 一起被带到了应用程序的输出文件夹中。我不太清楚该文件的用途以及我是否应该将它作为我的应用程序安装的一部分或可以安全地删除它。有
是否可以/容易使用 Rhino Mocks 或类似方法模拟 NLog 日志方法? 最佳答案 使用 Nuget:install-package NLog.Interface 然后:ILogger log
目标: 当我打电话时Logger.Error("some message", e) ,其中 e是一些异常对象,它只记录消息,不记录异常信息。我需要它来输出异常消息和堆栈跟踪。任何想法我做
在生产环境中更改 nLog 日志记录级别的最佳做法是什么。我可以更改它的唯一方法是修改 NLog.config 文件,然后回收应用程序池。应该这样吗? 谢谢, 克里斯 最佳答案 如果你想改变日志配置而
我已经创建了一个通用实现 ILogger 并在这个包装器中实现了 NLog 实现方法。我的问题是我在我的解决方案中为整个 namspace 启用了错误严重性,但我还希望对“Employee”命名空间下
我在 NLog.config 中配置了两条规则: 我正在尝试使用以下代码写入第一个: LogEventInfo eventInfo = new LogEventInfo(); eventInfo.
我正在尝试将一堆应用程序使用的现有日志记录库转换为使用 NLog。现有的日志记录代码没有间接性,日志记录调用直接从调用者到 Web 服务调用。现有的日志记录代码是作为静态单例实现的。我需要以这样一种方
我有一个泛型类: public class GenericClass { private static readonly Logger Logger = LogManager.GetCurre
在我看来,NLog 中的内置日期格式没有正确包含时区。我们需要用尾随 Z 记录 UTC 时间,以便 Splunk 知道本地时间是什么,例如: {日期:universalTime=true:format
我们提供了一个用于日志记录的框架程序集,它在内部使用 nlog。我们还提供了一个嵌入式 nlog 配置作为我们程序集中的资源,并在启动时读取它(包装器中的静态构造函数,它使用 XmlLoggingCo
我这样编码: private static readonly ILogger Logger = LogManager.GetCurrentClassLogger(); public MyClass()
现在我这样做 LogManager.DisableLogging(); 但这需要再次部署我的代码,如何从 nlog 配置文件中禁用登录。 最佳答案 关于nlog - 从 Nlog.config 发
我想弄清楚如何阻止 NLog 替换我正在记录的字符串中的换行符。我希望输出包含所有换行符,而不是将整个输出放在一行中。 有人可以帮忙吗? 配置: 代码
作为从 NLog 切换到 Serilog 的一个步骤,我想重定向 NLog 的 LogManager.GetLogger(name) 的标准调用的标准接线,以桥接任何记录到 NLog 的代码,以便立即
为此,我需要一份详细/分步指南。我已经阅读了简要指南 ( example here ) 并下载了示例代码,但我仍然无法弄清楚如何使用 Nlog 登录到 CloudWatch。 当我在 NLog.con
我将 NLog 错误电子邮件文本的内容放入一个文件中,并使用 FileContents 渲染器进行渲染。如果布局渲染器产生空字符串,我想做的是隐藏 html 输出的某些部分 Request ticke
我是一名优秀的程序员,十分优秀!