tars-log

简介

tars-logphptars 日志模块,用于将日志内容打到本地日志或远程日志

使用说明

安装

使用composer进行安装 composer install phptars/tars-log

配置

可以逐个参数进行配置,也可以通过平台下发的配置文件统一配置

  • 单独配置某个参数

    $config  = new \Tars\client\CommunicatorConfig();  
    $config->setLocator("tars.tarsregistry.QueryObj@tcp -h 172.16.0.161 -p 17890");  
    $config->setModuleName("tedtest");  
    $config->setCharsetName("UTF-8");
    $config->setLogLevel("INFO");    //日志级别:`INFO`、`DEBUG`、`WARN`、`ERROR` 默认INFO
    $config->setSocketMode(2);        //远程日志连接方式:1:socket,2:swoole tcp client 3: swoole coroutine tcp client
  • 配置文件初始化参数

    $config = new \Tars\client\CommunicatorConfig();
    $sFilePath = '项目地址/src/conf'; //配置文件下发路径
    $config->init($sFilePath);

输出日志

输出日志提供两种方式,一种直接调用LogServantlogger方式输出远程日志,另一种结合monolog输出远程日志(推荐)

  • 调用LogServantlogger方式

  • 结合monolog方式(推荐)

结合ELK

远程日志按应用与服务区分,位于/usr/local/app/tars/remote_app_log/{App}/{ServerName},在实际业务中,可以通过filebeatlogstash 将远程日志同步到ElasticSearch

除此之外monolog 本身提供了ElasticSearchHandler,可以非常方便的把日志直接输出到ElasticSearch

使用之前需要在composer中引入ruflin/elastica 包。

注:截止到本文更新前,ruflin/elastica 的 release版只支持至 elasticsearch:6.版本,想使用elasticsearch:7.的同学可以使用 elasticsearch/elasticsearch 包自行封装 handler

示例代码如下:

Last updated