PHPackages                             listen/logcollector - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Logging &amp; Monitoring](/categories/logging)
4. /
5. listen/logcollector

ActiveLibrary[Logging &amp; Monitoring](/categories/logging)

listen/logcollector
===================

用于 Laravel5 的基于 monolog 的日志服务

5.0.1(7y ago)217412MITPHPPHP ~7.1

Since Jan 10Pushed 6y agoCompare

[ Source](https://github.com/listen-rain/logcollector)[ Packagist](https://packagist.org/packages/listen/logcollector)[ Docs](https://github.com/listen-rain/logcollector)[ RSS](/packages/listen-logcollector/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (8)Versions (13)Used By (2)

Logcollector
============

[](#logcollector)

> 基于 Laravel5 的日志记录服务

[![Latest Stable Version](https://camo.githubusercontent.com/b7e26a8079197fc3ded88a5b7d8fa170dea98413803d6478af2ff6ef1c0739ab/68747470733a2f2f706f7365722e707567782e6f72672f6c697374656e2f6c6f67636f6c6c6563746f722f762f737461626c65)](https://packagist.org/packages/listen/logcollector)[![Total Downloads](https://camo.githubusercontent.com/9a0099b55770a83c4f0811a12594a7df704eb94ae6d6315e80d76b63b4d39f63/68747470733a2f2f706f7365722e707567782e6f72672f6c697374656e2f6c6f67636f6c6c6563746f722f646f776e6c6f616473)](https://packagist.org/packages/listen/logcollector)[![Latest Unstable Version](https://camo.githubusercontent.com/e888aa4b77e3171dbbd20218405d32520b29833332852b8c725cac89531eb941/68747470733a2f2f706f7365722e707567782e6f72672f6c697374656e2f6c6f67636f6c6c6563746f722f762f756e737461626c65)](https://packagist.org/packages/listen/logcollector)[![License](https://camo.githubusercontent.com/fd4312e964eded6d31c998422845842cff369d3ad4ce4b16e85e79f50ce6631d/68747470733a2f2f706f7365722e707567782e6f72672f6c697374656e2f6c6f67636f6c6c6563746f722f6c6963656e7365)](https://packagist.org/packages/listen/logcollector)[![Monthly Downloads](https://camo.githubusercontent.com/2589408eeaf928d44d2843df4a15379bae67562eb1ec64d728ead41168361958/68747470733a2f2f706f7365722e707567782e6f72672f6c697374656e2f6c6f67636f6c6c6563746f722f642f6d6f6e74686c79)](https://packagist.org/packages/listen/logcollector)[![Daily Downloads](https://camo.githubusercontent.com/d861334770a819d9bea0111389884df3b1f3d11cc4be8f7f9a1c83321316ba57/68747470733a2f2f706f7365722e707567782e6f72672f6c697374656e2f6c6f67636f6c6c6563746f722f642f6461696c79)](https://packagist.org/packages/listen/logcollector)[![composer.lock](https://camo.githubusercontent.com/2cb966cd6e17e0036fff5bbc66d193fdbee78bf105758debe9c37b863ada807a/68747470733a2f2f706f7365722e707567782e6f72672f6c697374656e2f6c6f67636f6c6c6563746f722f636f6d706f7365726c6f636b)](https://packagist.org/packages/listen/logcollector)

安装配置
----

[](#安装配置)

```
composer require listen/logcollector

```

修改 config/app.php, 添加服务

```
'providers' => [
    Listen\LogCollector\LogCollectorServiceProvider::class,
],
```

修改 config/app.php, 添加 Facade

```
'aliases' => [
    'LogCollector'  => Listen\LogCollector\Facades\LogCollector::class,
]
```

生成配置文件 config/logcollector.php

```
php artisan vendor:publish --provider='Listen\LogCollector\LogCollectorServiceProvider'

```

示例
--

[](#示例)

1、在配置文件 config/logcollector.php 中添加 Logger

```
'loggers' => [
    'access' => [
        'channel' => 'access',
        'file'    => storage_path("logs/access.log"),
        'level'   => 'warning',
        'mode'    => 'single'
    ],

    'event' => [
        'channel' => 'event',
        'file'    => storage_path("logs/event.log"),
        'level'   => 'warning',
        'mode'    => 'single'
    ],

    'exception' => [
        'channel' => 'exception',
        'file'    => storage_path("logs/exception.log"),
        'level'   => 'error',
        'mode'    => 'single'
    ],
    ......
]

```

2、动态添加 Logger

```
$loggerName = 'event';
// 主动注册日志名，调用时会自动加载
$logCollector = LogCollector::registerLoggerName($loggerName);

// 注册并加载
$logCollector = LogCollector::load($loggerName);

// 注册指定属性的日志
$logger = new Listen\LogCollector\Logger($loggerName);
$logger = $logger->setFile('path/to/file');
$logger = $logger->setMode('默认值是 single'); // 如果不调用此方法，默认的记录模式是 'daily'
$logger = $logger->make();

$logCollector = LogCollector::addLogger($loggerName, $logger);

```

3、记录日志

```
$logCollector->event('事件日志文本'); // 等同于 $logCollector->eventInfo('...');
$logCollector->eventError('事件日志错误');

```

4、获取 Loogger 并记录自定义日志

```
$logger = $logCollector->getLogger($loggerName);
$logger->pushProcessor(function ($record) {
    $record['extra'] = [
        .....
    ];

    return $record;
})->addError($logCollector->getPrefix());

```

使用 elastic 记录日志
---------------

[](#使用-elastic-记录日志)

1、配置 elastic

cat config/logcollector.php

```
