关于日志输入输出问题

概念:
日志输入:线程中记录日志到队列中;
日志输出:单开线程循环读取队列,写入txt中;
现象:之前有款软件,日志输入速度大于日志输出速度,导致运行程序越来越大,后来是通过删除部分不太重要的输入日志解决的。
求问:有什么比较好的思路,解决这种问题么?

你的日志输出策略是什么样的呢?每次从队列读取一条写文件还是每次读取多条?给出几个建议供参考:
1.每次读日志队列时,批量读取,而不是单条读取,读取后批量写入文件。(不要持续占用队列)
也可以考虑建立两个队列,当一个队列写到一定量级后,去写第二个队列。读队列的时候先读取第一个队列,然后再去读取第二个队列,这两种方式都是减少频繁的加锁、解锁导致的效率问题。
2.如果上述策略还不行,尝试增加日志级别,通过日志级别控制日志的量级,一些不必要的日志可以通过日志级别筛除