关于记日志的一些思考
对于庞大的Web2.0,开发中难免会要记录一些操作日志,甚至是必须要记录一些日志。我自己总结了几点,希望与大家分享,更希望得到更多人的意见和建议。
首先,我觉得记录日志必须是为了业务而存在,所以我建议在记录日志之前,要对日志进行分类,按照重要级及用途进行分类。
- 对于核心业务或者是算法记录的日志,我们可以单独将它记录。这样,方便跟踪。
- 对于登陆日志,或者是一些需要查询的用户行为操作,我们可以记录在数据库中,方便查询。
- 对于一些量比较大的用户操作行为,譬如说新浪微博中用户对某一个模块或者是功能的访问,往往这些数据都比较庞大,甚至是上千万乃至是上亿条记录,难不成记录到数据库么?当然不是,我们可以记录文本日志,按天分片,保存为单独的文件,然后在某一特定的时间对日志进行分析,可以用正则匹配等方式,得出结论。这部分日志,主要是为了方便我们的营销团队或者是我们的产品经理做数据分析而用。
- 另外,我们还可以记录一些特定格式的日志,譬如Mysql的二进制日志,则是为了方便在系统出现故障时进行数据恢复。
当然,记录日志的格式是因人而异,但是,我们不能仅仅是为了记日志而记日志。记录日志必须要有侧重点,要根据实际情况来记录日志。