zoukankan      html  css  js  c++  java
  • IIS中Log无法生成解析

    1. 来源:

    最近,给客户作了一次服务器更新。

    随后一周,客户因操作失误,需要调查不当操作,因此得检查系统的Log文件,发现自从发布后,再也没有看到新生成的Log文件。

    2. 分析过程:

    2.1 第一时间,对Log文件的属性进行了调查。简单右键点击属性,将读取专用属性的Check栏取消,并确认。然后进行调试执行。发现没有任何实际变化。

    2.2 问题再现:随后,在本地环境中测试,没有任何问题,Log顺利生成。开发环境中发布测试(开发环境内(同一台系统)测试),也没有问题。

    2.3 再编译:再往后,将本地开发文档再次重新编译发布到测试环境,测试失败。

    2.4 无解,休息。(一周后)

    2.5 调查Log4net的版本,再次分析,Log没有生成的原因。本次代码因为用的是log4net通用DLL。版本一致。

    2.6 发布方法:之前发布是直接在VS2012中编译,于是改用VS2012中的发布Tool进行发布,生成发布后的ZIP文件。结果不变,Log没有生成。

    2.7 众人讨论:短时间,聚集几个一起工作的同事看,没有任何结论。

    2.8 文件对比:发布成功的代码文件,和Log无法生成的代码文件对比,结论完全一样。在此基础上,测试结果仍然不变。之前成功的Log继续自动生成,后面的Log仍无法生成。

    (此时,若冷静思考,可以推测出是文件属性的问题。遗憾的是,我忙于各种细节的对比,而忽略了整体的思考)

    2.9 再讨论:从下午2点开始,到9点一直论证Log不出来的理由,然后在Manager闲聊。有什么遗漏的,属性检查撤退没有?文件遗漏没有?重新检查Log文件的各种属性,对比发布成功的Log文件夹属性。发现安全Tab下,IIS_IUSER管理权限没有变更权限。

    修正後の属性 (IIS_IUSRS)

     

     修正前の属性 (IIS_IUSRS)

     

    结论,过早排除最有可能出错的地方。让后续工作全部进入盲区。Log文件属性,在排查的时候,若一开始就非常详细的进行对比,事后不至于费了2天的时间。

    Log文件夹在过去并没有任何人进行修改,发布时,应作单独说明。原有的发布文档,只是特别提到,切勿删除Log文件及其子文件夹。给人主要是为保留服务器

    中以往的操作信息的直观感受,而Log文件夹自身的属性并没提及。另外一点关键的是,以往IIS发布时,通常是局域网内,将www整个文件夹的属性改成共享可读可写,因此不用顾虑详细的IIS属性。

    顺序渐进而不盲目。抓重点而细分析,赛过撒大网胡乱猜测。

    Love it, and you live without it
  • 相关阅读:
    .net 用户控件ascx.cs注册js脚本代码无效果
    Sql-exec
    C# 复制指定节点的所有子孙节点到新建的节点下
    C# 拷贝指定文件夹下的所有文件及其文件夹到指定目录
    svn 命令
    C语言运算符优先级
    两级宏&&字符串化宏
    [C++]#if !defined 的作用
    四面体ply格式文件图和数据对应关系分析
    PLY格式介绍
  • 原文地址:https://www.cnblogs.com/tomclock/p/6897134.html
Copyright © 2011-2022 走看看