pedromazala / fluentd-logger
Laravel 的 Fluentd 日志组件
v1.1.0
2017-11-14 12:57 UTC
Requires
- php: ~5.6|~7.0
- fluent/logger: ~1.0
- illuminate/support: ~5.1
Requires (Dev)
- phpunit/phpunit: ~4.0||~5.0||~6.0
- squizlabs/php_codesniffer: ^2.3
This package is not auto-updated.
Last update: 2024-09-20 01:46:58 UTC
README
将应用程序日志消息和事件发送到 fluentd 日志传输程序。
安装
通过 composer 添加包
composer require tokenly/fluentd-logger
与 Laravel 的使用
添加 Service Provider
将以下内容添加到您应用程序配置中的 providers 数组
Tokenly\FluentdLogger\FluentdLoggerServiceProvider::class,
设置环境变量
APP_CODE=myapp
FLUENTD_ENABLED=true
FLUENTD_APPLOG_LEVEL=debug
# this makes the default Laravel monolog handler very quiet to not fill up the hard drive
APP_LOG_LEVEL=emergency
# for a local fluentd instance (recommended)
FLUENTD_SOCKET=/tmp/fluentd.sock
# if using a remote fluentd server (not recommended)
# FLUENTD_HOST=http://some.host
# FLUENTD_PORT=24224
标准日志事件
常规日志事件使用标准的 Laravel 日志函数发送到 fluentd
Illuminate\Support\Facades\Log::info("hello world");
测量事件
要测量事件,请使用 fluent_measure($event, $data=[], $tags=null);
fluent_measure('widget.created', ['widgets' => 4], ['username' => 'leroy']);
$data 应包含数值数据。将 $tags 视为该数据的额外索引。默认包含时间戳。
无 Laravel 的使用
$fluent_logger = new \Tokenly\FluentdLogger\FluentLogger($host, $port); # set a tag prefix $app_code = 'myapp'; $environment = 'production'; $tag = 'applog.'.$app_code.'.'.$environment; # set up monolog $monolog->pushHandler(new \Tokenly\FluentdLogger\FluentMonologHandler($fluent_logger, $tag)); # set up fluent event logger for measurements $measurement_logger = new \Tokenly\FluentdLogger\FluentEventLogger($fluent_logger, 'measure.'.$app_code.'.'.$environment); # use monolog $monolog->info("hi world"); # use measurements $measurement_logger->log('widget.created', ['widgets' => 4], ['username' => 'leroy']);