游戏服务器-日志系统

游戏服务器-日志系统

游戏服务器的日志系统主要分为业务日志程序日志。业务日志主要是给运营进行使用。程序日志则主要是给开发者调试日志,查找bug使用

扩展:后续可以加上性能检测日志等。

业务日志

业务日志主要是给运营进行使用。

程序日志

程序日志则主要是给开发者调试日志,查找bug使用。为了使日志更加的客观,通常按照不同的系统模块来输出对应模块的程序日志文件,方便后续线上来进行查找bug。

则程序日志可以继续细分:系统模块日志、架构代码异常日志

  • 系统模块日志:

    游戏有需要功能模块:活动、玩家、登录以及各种游戏逻辑模块,如果都统一的讲日志简单统一输出到统一的log的文件中,对于后续排查线上的问题来说会非常麻烦。所以输出结构会改成各个模块都有独立的log文件来进行存储,排查对应模块的问题只需要查找对应模块的日志文件

  • 架构代码异常日志:

    该部分的代码通常是底层架构的异常记录,例如线程模型的异常,事件组件的异常。

日志输出目录结构

— logs

​ —dayLog

​ —${dataTime}

​ —error

​ —root

​ —module01.${i}.log

​ —module02.${i}.log

​ —module03.${i}.log

​ —player

​ —player.log.${dataTime}

实现原理

原始方法:通过不断的在logback.xml文件中配置各个模块的输出信息。

对于游戏服务器来说每新增一个游戏模块就得在logback.xml中加新的配置。这样的做法太不优雅。

可通过代码配置,通过枚举来动态添加即刻。

一个优秀的日志组件就必须可以通过代码动态的添加各种日志模块,输出到各个模块的日志文件中。并且还需要照顾到高并发情况下多个日志记录的问题。通过cache方案异步进行记录,也可通过buffer方案来解决,这两种方案主要看日志的输出目的地,所需要时间(例如本地的合理设置buffer大小也可以很快)

参考:

logback性能优化 AsyncAppender && FileAppender

万字详解logback

公司日志主件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值