​​鹅厂开源框架tars之日志服务

本文详细介绍了腾讯的Tars开源框架中的日志服务,包括本地滚动日志和远程日志的实现原理。Tars是一个支持多种语言的后台逻辑层应用框架,提供了一整套开发、运维、测试解决方案。日志服务中,本地日志用于程序debug,远程日志则汇总业务统计信息。本地日志通过TC_Logger和RollWriteT、TC_RollBySize实现,而远程日志通过TimeLogger和RemoteTimeWriteT、TC_RollByTime实现,可以按时间间隔独立文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   tars开源框架地址:https://github.com/Tencent/Tars

系列文章:

鹅厂开源框架tars之日志服务

鹅厂开源框架tars之运营监控服务

鹅厂开源框架tars之基础组件

鹅厂开源框架tars之网络层实现

 简介:Tars是腾讯从2008年到今天一直在使用的后台逻辑层的统一应用框架TAF(Total Application Framework),目前支持C++,Java,PHP,Nodejs语言。该框架为用户提供了涉及到开发、运维、以及测试的一整套解决方案,帮助一个产品或者服务快速开发、部署、测试、上线。 它集可扩展协议编解码、高性能RPC通信框架、名字路由与发现、发布监控、日志统计、配置管理等于一体,通过它可以快速用微服务的方式构建自己的稳定可靠的分布式应用,并实现完整有效的服务治理。目前该框架在腾讯内部,各大核心业务都在使用,颇受欢迎,基于该框架部署运行的服务节点规模达到上万个。
 

  之前把tars的日志放在另外一篇专门讲tars组件的文章里面了,发现写下去由于tars通用组件比较多,文章太长,所以特地把日志功能独立出来。tars的日志服务器分本地的流水日志,还有远程的日志:本地日志一般用来记录一些程序debug的滚动日志,远程的日志用来汇总业务的统计日志等统一发送到远程的日志服务器,远程的日志服务器配置在config.conf文件的log选项里面:例如
log=LogServer.taflog4xxxsh.LogObj 代表远程日志统一写到这个远程日志服务里面,日志服务器一般用一到n台大磁盘的机器来部署logserver(大业务量的机器,一台日志服务器可能支撑不住)

 一、下面先看下本地滚动日志的实现和使用方法:

业务使用本地滚动日志的方式:例如

LOG_ROLL_DEBUG("Uin:" << user->getUin() << ",iExtraScore:" << iExtraScore << ",iMaxExtraScore:" << iMaxExtraScore);

用于记录某个uin的额外分数和最大分数。

LOG_ROLL_DEBUG的宏定义:

#define LOG_DEBUG  LOG->debug()<< "[" << __FILE__ << ":" << __LINE__ << ":" << __FUNCTION__ << "]|"

下面看LOG宏的定义

#define LOG      

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值