问题描述
现在有一个程序A在运行,它将日志记录到一个txt文本文件中。为了便于使用日志文件,单独查看txt已经不能够支撑运行分析。此时需要定制一个日志分析软件B。但是A程序运行时一直独占使用该txt文件以便随时快速写入日志。并且A程序开发时并没有考虑日志文件将来的监控功能。故A程序不能为此需求做任何设置或变动。由于B不能在A运行时监控日志情况,所以失去了实时监控的意义。日志组件为log4net,请问如何做到实时监控?
解决方案
解决方案二:
解决方案三:
引用1楼duanzi_peng的回复:你好,帖子中忘了加上:目前使用文件监控类FileSystemWatcher仅仅是为了触发事件发送信号AutoResetEvent.Set。因为日志文件很大,一般来说最少有1万行,平均3万。我不想任何变动都重新读取整个文件。所以目前使用的是另建子线程用来无止尽的读文件(streamreader),当读到最后一行时便无限制等待信号。故你的这个网址我认为是没有太大用处的
解决方案四:
A程序如果可以修改,那么将它打开文件的共享权限设置为共享读。
解决方案五:
连写个日志的(只要在公共调用层修改)几行代码都“不能为此需求做任何设置或变动”,我是觉得除了公司倒闭、产品下线,也没有什么好办法了。
解决方案六:
一直打开是可以设置成允许其他程序读取文件的,如果A本来就是这样就不用做任何改变,如果不是修改下打开方式也不会改变a的任何功能,为何不能?
解决方案七:
楼主提出了一个问题:我的程序有个大BUG,我不想改任何代码,但是想去掉这个BUG那么只能按4楼的办法,整个丢弃掉不要用,就没有BUG了
解决方案八:
提问题,寻求解决办法,是在"要把错误的改成正确的"这个前提下的有错误又不改,那你到底想问什么?
解决方案九:
引用4楼sp1234的回复:
连写个日志的(只要在公共调用层修改)几行代码都“不能为此需求做任何设置或变动”,我是觉得除了公司倒闭、产品下线,也没有什么好办法了。
呵呵,你是小公司呆久了吧,一个人在几百人的公司横惯了所以什么都敢莫名其妙的叫嚣。在国企集团,部门之间沟通都是有阶层的,你难道不知道?这么点问题让你等3个月,我就不能先发帖问问有没有其他办法?你很适合去网易啊,那里的键盘侠都很欢迎你!
解决方案十:
引用8楼youaway的回复:
Quote: 引用4楼sp1234的回复:
连写个日志的(只要在公共调用层修改)几行代码都“不能为此需求做任何设置或变动”,我是觉得除了公司倒闭、产品下线,也没有什么好办法了。呵呵,你是小公司呆久了吧,一个人在几百人的公司横惯了所以什么都敢莫名其妙的叫嚣。在国企集团,部门之间沟通都是有阶层的,你难道不知道?这么点问题让你等3个月,我就不能先发帖问问有没有其他办法?你很适合去网易啊,那里的键盘侠都很欢迎你!
你是在大国企呆久了,只懂玩人事,根本不关心技术了吧?你这个问题,不改代码还要去掉BUG,技术层面上根本无解.如果做这个软件的人拒不配合,那你也只能干等了呗.