File tree Expand file tree Collapse file tree 6 files changed +131
-0
lines changed Expand file tree Collapse file tree 6 files changed +131
-0
lines changed Original file line number Diff line number Diff line change 1
1
# 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 )
Original file line number Diff line number Diff line change
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
+ }
Original file line number Diff line number Diff line change
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
+ }
Original file line number Diff line number Diff line change
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
+ ];
Original file line number Diff line number Diff line change
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 ' );
You can’t perform that action at this time.
0 commit comments