Java写日志的问题。
大家好,
我用java流写日志文件,但是每次写进去的会放在文件最下面,按照日志文件的格式,应该是把最新写进去的放在文件最上面才对,这 要怎么做呢?
我的代码是这样的:
PrintWriter writer = new PrintWriter(new FileWriter("history.log",true),true);
调用写日志是就一句代码:
writer. println(msg);
------解决方案--------------------一个有点笨的方法,把原来的读出来,再重新塞进去
------解决方案--------------------文件都是从上到下写的,不可能把后面的东西写在最前面。读出来再排序再写这性能还不低死。如果要真做成那样,还不如找一个开源的高性能的数据库用来做日志记录,查询倒排序查得了。
------解决方案--------------------就是正常的日志文件也是最新的放最下面啊。
像你这样的需求用xml文件比较好,最后再写成log文件。
不然效率很低。
------解决方案--------------------你这要让日志文件进行系统进行大量IO操作,性能岂不低?
还不如用一个Access数据库来的方便