Copy $logServant = new \Tars\log\LogServant($config);
$appName = "App"; //应用名称
$serverName = "server"; //服务名称
$file = "test.log"; //文件名称
$format = "%Y%m%d"; //日志时间格式
$buffer = ["hahahahaha"]; //日志内容,数组,每个元素为一条日志
$result = $logServant->logger($appName,$serverName,$file,$format,$buffer);
Copy $logger = new \Monolog\Logger("tars_logger");
//remote log
$tarsHandler = new \Tars\log\handler\TarsHandler($config);
//local log 这里可以根据业务需要添加其他handler,比如StreamHandler、ElasticSearchHandler 等
$streamHandler = new \Monolog\Handler\StreamHandler(ENVConf::$logPath . "/" . __CLASS__ . ".log");
$logger->pushHandler($tarsHandler);
$logger->pushHandler($streamHandler);
$array = [
"key1" => "value1",
"key2" => "value2",
"key3" => "value3"
];
$logger->debug("add a debug message", $array);
$logger->info("add a info message", $array);
$logger->notice("add a notice message", $array);
$logger->warning("add a warning message", $array);
$logger->error("add a error message", $array);
$logger->critical("add a critical message", $array);
$logger->emergency("add a emergency message", $array);
注:截止到本文更新前,ruflin/elastica
的 release版只支持至 elasticsearch:6.版本,想使用elasticsearch:7. 的同学可以使用 elasticsearch/elasticsearch
包自行封装 handler
Copy $logger = new \Monolog\Logger("elk_logger");
$client = new \Elastica\Client([
'host' => '127.0.0.1',
'port' => 9200
]);
$elkHanlder = new Monolog\Handler\ElasticSearchHandler($client, [
'index' => 'monolog_index_test',
'type' => 'record'
]);
$logger->pushHandler($elkHanlder);
$logger->error("this is a test msg from monolog");