IIS记录有关“只读”设置的最佳实践

时间:2015-04-15 15:07:49

标签: asp.net iis logging asp.net-web-api nlog

如果我有一个asp.net webAPI,我正在进行自己的自定义日志记录,那么在哪里放置这些日志是最好的做法?

最初我尝试登录$ {basedir} / logs / $ {shortdate} .log。然而,我的基础是我的项目的旧名称,我不知道这个价值来自何处或如何改变它?

然而,接下来我注意到的是,日志文件夹似乎只读取IIS默认登录的位置。而我似乎无法改变这一点。我在想IIS运行时默认情况下只读它,所以没有人可以在恶意攻击期间删除日志。

因此我决定登录到另一个目录以避免此问题。这是最好的做法还是应该尝试不同的方法我使用Nlog如果它相关?

1 个答案:

答案 0 :(得分:1)

我不知道我是否称之为最佳做法,但根据我的经验,在本地记录文件并不能很好地扩展到生产环境:

  • 如果您在多个Web服务器之间进行负载平衡,那么您必须尝试从多个源中提取日志文件并关联事件
  • 您必须首先登录生产箱尝试检索日志,这意味着没有完全生产访问权限的人无法从日志中诊断出问题。

备选方案包括记录到中央数据库或(现在我的首选选项)记录到日志服务器,例如seq。您可以按照NLog documentation page

使用NLog登录seq

如果您确实想要在光盘上使用文件,那么我建议在"日志"中使用一组滚动日志文件。应用程序根目录的子文件夹。