本文章针对的网络库antnet

日志作为服务器重要的一环必不可少,一般的日志会支持几种类型的输出方式:

  1. 控制台
  2. 文件
  3. 网络

antnet只支持前两种,为什么不支持网络呢,因为在我看来,木有必要,不符合简单的原则。

我们先来看看网络日志的收益,对于这种需求来讲,一般是

1.网络发送到日志中心便于保存。

2.实时分析,比如实时次日留存之类

对于第一点,网络日志要保证一条不丢要做很多事情的,往往也必须本地存入文件作为备份,这一套实现起来不算太复杂,但和我直接把备份上传到云oss相比收益就很小很小了。

对于第二点,一般游戏都不要求秒级的数据统计,以小时为单位往往也够了。事实上,大部分运营听到我们能每小时更新留存数据都挺高兴的。

综合以上,antnet只支持控制台和文件日志,而且对我来说,文件日志最重要的一个功能是能定时,但很可惜,在我看过的框架中,目前很少发现。

antnet的文件日志结构如下:

其中的Timeout便是超时时间,MaxSize是大小,超时和日志文件超过一个大小阀值都会激活回调,回调中完成文件重命名及上传文件的功能,当然上传这步需要使用者自己实现,重命名有默认的函数,可以不用自己实现。