zoukankan      html  css  js  c++  java
  • 委屈

    端午节小假期回老家看望父母。回来上班后,领导一脸怒色的问:“你那个日志工具类咋写的呀,记日志出了那么多问题,我搞不懂,难道你们平时不看日志吗?”

    这话听起来很不爽。不过毕竟人家是领导,我问是什么情况,他说好多说文件被占用,你自己看看。  

    我马上打开ie,访问假期里这三天线上的日志文件,第一个便赫然写着:文件“d:logGateWay.Scheduler2017_06_01_14.txt”正由另一进程使用,因此该进程无法访问此文件。

    马上再看其他时间和日期记录的日志文件,查了十多个,一共查到2处,并未像领导说的全是异常。

    我很确认我的程序,日志Helper类里,向文本文件里写数据时是有同步锁的。所以,按这么理解的话,深信不会出现大面积文件被占用的异常,感觉自己被误解而有些委屈。

    过了一会儿,领导开会回来追问是否查到原因了。 我辩解并没有发现那么多异常。

    领导叫我去他工位,登陆到远程服务器上,挨个儿点日志文件,点了有十多个,有二三个文件里的确出现很多这个异常。这时,我虽然深信不可能出现,但事实摆在眼前,越发迷惑。领导同时又强调,这两天交易量大,ZH那儿记日志就没有出现这样的问题(ps:ZH是项目组里一伙伴,他的日志记录的实现方式与我的实现方式不同),你问问ZH他是怎么记的,你们沟通一下。

    “赶紧查查这个问题吧”领导生气的说。

    “那这个问题真不好查”,我当时情绪失控了。怎么就直言顶撞领导了呢?

    “你这叫什么话,不好查就不查了?”领导毕竟是领导,重话说完了,马上放缓语气,他要考虑属下的情绪,以免冲突加剧,“以前你也在JD,那么大的日志量,人家是怎么做到的,所以,一定有办法的嘛”

    “JD分工比较细,有专门的team搞基建,也有专门的架构师搞这些事情”我把声音降下来。

    这时,项目组里一同事过来,他也参与过日志Helper类的重构,把同步记日志改为通过queue异步来记录。他解释说,“国战的日志程序会并把捕获到的异常记录下来,所以有这种异常,咱们都能从日志文件里看到。别人的就不好说了”领导有所理解了,也许ZH在catch里并未处理异常。

    话说今天下午线上排障时,在查看日志时碰巧又发现了一个日志文件被占用的异常记录。突然明白了问题是由于一个熟视无睹的事情导致的——假期第一天项目开发组里的同学GL自己部署了一个服务,配置的日志文件路径与我的服务配置的日志文件路径是同一个目录,而且他的逻辑有引用我的代码,就是说我们俩人的服务把日志记录在了同样的日志文件里了。——这样,就很容易理解了,两个服务是两个进程,那么并发的情况下,肯定就会出现文件被占用了。

    于是,我让同事修改线上的日志路径。问题得到解决。我已无力再跟他细抠细节。

    今天晚上项目组开会整理todolist。领导又提到了我的日志的问题,我没解释,丢了一句“你问问GL吧”。至此,领导心里有没有一杆秤,不再细思。

  • 相关阅读:
    Python for Infomatics 第14章 数据库和SQL应用四(译)
    展望2017
    bing的简单英文字典工具
    自我安慰
    Python for Infomatics 第14章 数据库和SQL应用三(译)
    Python for Infomatics 第14章 数据库和SQL应用二(译)
    Python for Infomatics 第14章 数据库和SQL应用一(译)
    希望父亲早日恢复
    Python for Infomatics 第13章 网页服务四(译)
    Python for Infomatics 第13章 网页服务三(译)
  • 原文地址:https://www.cnblogs.com/buguge/p/6931066.html
Copyright © 2011-2022 走看看