网络游戏服务器之 日志系统

本文探讨了网络游戏服务器日志系统的重要性,分析了选择文件还是数据库存储日志的优缺点,建议采用文本格式的日志文件并设定日志长度限制。同时,文章提到了日志分级的必要性以及在实现细节上,包括缓冲IO的选择、同步写还是异步写的问题,以及日志应写在本地还是远程。最后,作者提醒避免在日志系统出错时使用已定义的日志函数导致的恶性循环。
摘要由CSDN通过智能技术生成
一、For Beginner

日志系统主要是一组记录引擎底层及应用逻辑层系统状态变化过程的接口。几乎所有的游戏服务器框架都会有一组操作日志的接口,当然最简单的就是大家所熟悉的printf格式化到标准输出,日志系统的复杂度有高有低,具体目的主要是为调试及运营数据查询需要。可以说日志系统实现是否易用、简洁,将直接影响到开发及运营效率。

二、文件VS数据库

是写文件还是写数据库,这是一个问题。数据库的优势是查询/统计/排序很方便,一旦建立好所有的日志表及其操作以后,后期运营会比较舒服,可以轻松应对策划无休止的BT日志统计需求。但为每个日志建立数据库的表项及其索引是需要有很强前瞻性的,对程序员的经验要求较高,大数据量的数据库数据库表项及其索引的变更所需要的时间比较长, 而日志本身的内容变更应随需而变,这是一个矛盾。写文件的最大好处是简单,方便人工阅读,文件更容易做备份,备份的拆分与合并也更容易,即使要查找若干年以前的数据也不需要很复杂的恢复过程。但文件的数据搜集与统计的成本是很高的,往往不能适应策划的快速响应需求,后期在运营上面支撑不足。 现在很多项目也逐步采用文件与数据库相结合的方式,日志首先写到文件中,然后根据日常统计收集需要将指定的日志定时增量load到数据库中,然后对数据库进行查询,这无疑结合了两种载体
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值