Skip to content

Commit 60cdd13

Browse files
committed
feat: add laravel example
1 parent 774bc71 commit 60cdd13

File tree

6 files changed

+131
-0
lines changed

6 files changed

+131
-0
lines changed

README.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,51 @@
11
# Log Reader For PHP
2+
3+
![preview](https://github.com/krissss/php-log-reader/raw/master/preview.jpg)
4+
5+
# Installation
6+
7+
```bash
8+
composer require kriss/log-reader
9+
```
10+
11+
# Usage
12+
13+
## Use LogReaderControllerTrait in controller
14+
15+
```php
16+
use Kriss\LogReader\Traits\LogReaderControllerTrait;
17+
use Kriss\LogReader\LogReader;
18+
19+
class SomeController {
20+
use LogReaderControllerTrait;
21+
22+
private $logReader;
23+
24+
protected function getLogReader(): LogReader
25+
{
26+
if (!$this->logReader) {
27+
//$runtimePath = __DIR__ . '/../runtime/logs';
28+
$this->logReader = new LogReader($runtimePath, [
29+
'enable' => true,
30+
'deleteEnable' => true,
31+
// others
32+
]);
33+
}
34+
return $this->logReader;
35+
}
36+
37+
protected function getRequest(): SymfonyRequest
38+
{
39+
return request()->getSymfonyRequest();
40+
}
41+
42+
protected function getBaseUrl(): string
43+
{
44+
return 'some/url-prefix';
45+
}
46+
}
47+
```
48+
49+
# For Laravel
50+
51+
[see example](./example/laravel)
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?php
2+
3+
namespace App\Http\Controllers;
4+
5+
use Kriss\LogReader\LogReader;
6+
use Kriss\LogReader\Traits\LogReaderControllerTrait;
7+
use Symfony\Component\HttpFoundation\Request;
8+
9+
class LogReaderController
10+
{
11+
use LogReaderControllerTrait;
12+
13+
protected function getLogReader(): LogReader
14+
{
15+
return app('log-reader');
16+
}
17+
18+
protected function getRequest(): Request
19+
{
20+
return request();
21+
}
22+
23+
protected function getBaseUrl(): string
24+
{
25+
return url('log-reader');
26+
}
27+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<?php
2+
3+
namespace App\Providers;
4+
5+
use Illuminate\Foundation\Application;
6+
use Illuminate\Support\ServiceProvider;
7+
use Kriss\LogReader\LogReader;
8+
9+
class LogReaderServiceProvider extends ServiceProvider
10+
{
11+
protected $defer = true;
12+
13+
public function register()
14+
{
15+
$this->app->singleton('log-reader', function (Application $app) {
16+
$config = $app['config']['log_reader'];
17+
$logPath = $config['logPath'];
18+
unset($config['logPath']);
19+
return new LogReader($logPath, $config);
20+
});
21+
22+
$this->app->alias('log-reader', LogReader::class);
23+
}
24+
25+
public function provides()
26+
{
27+
return [
28+
'log-reader',
29+
LogReader::class,
30+
];
31+
}
32+
}

example/laravel/config/log_reader.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?php
2+
/**
3+
* @see App\Providers\LogReaderServiceProvider
4+
* @see Kriss\LogReader\LogReader
5+
*/
6+
return [
7+
// 是否启用
8+
'enable' => true,
9+
// 是否允许删除
10+
'deleteEnable' => true,
11+
// 日志根路径
12+
'logPath' => '@runtime/logs',
13+
// tail 查看时默认读取的行大小
14+
'tailDefaultLine' => 200,
15+
];

example/laravel/routes/web.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?php
2+
3+
Route::get('/log-reader/index', 'LogReaderController@index');
4+
Route::get('/log-reader/view', 'LogReaderController@view');
5+
Route::get('/log-reader/tail', 'LogReaderController@tail');
6+
Route::get('/log-reader/download', 'LogReaderController@download');
7+
Route::get('/log-reader/delete', 'LogReaderController@delete');

preview.png

50.2 KB
Loading

0 commit comments

Comments
 (0)