6
6
use LaravelFCM \Sender \FCMGroup ;
7
7
use LaravelFCM \Sender \FCMSender ;
8
8
use Illuminate \Support \ServiceProvider ;
9
+ use Monolog \Logger ;
10
+ use Monolog \Handler \StreamHandler ;
11
+ use Monolog \Handler \NullHandler ;
9
12
10
13
class FCMServiceProvider extends ServiceProvider
11
14
{
@@ -32,23 +35,35 @@ public function register()
32
35
return (new FCMManager ($ app ))->driver ();
33
36
});
34
37
38
+ $ this ->app ->singleton ('fcm.logger ' , function ($ app ) {
39
+ $ logger = new Logger ('Laravel-FCM ' );
40
+ if ($ app [ 'config ' ]->get ('fcm.log_enabled ' , false )) {
41
+ $ logger ->pushHandler (new NullHandler ());
42
+ } else {
43
+ $ logger ->pushHandler (new StreamHandler (storage_path ('logs/laravel-fcm.log ' )));
44
+ }
45
+ return $ logger ;
46
+ });
47
+
35
48
$ this ->app ->bind ('fcm.group ' , function ($ app ) {
36
49
$ client = $ app [ 'fcm.client ' ];
37
50
$ url = $ app [ 'config ' ]->get ('fcm.http.server_group_url ' );
51
+ $ logger = $ app [ 'fcm.logger ' ];
38
52
39
- return new FCMGroup ($ client , $ url );
53
+ return new FCMGroup ($ client , $ url, $ logger );
40
54
});
41
55
42
56
$ this ->app ->bind ('fcm.sender ' , function ($ app ) {
43
57
$ client = $ app [ 'fcm.client ' ];
44
58
$ url = $ app [ 'config ' ]->get ('fcm.http.server_send_url ' );
59
+ $ logger = $ app [ 'fcm.logger ' ];
45
60
46
- return new FCMSender ($ client , $ url );
61
+ return new FCMSender ($ client , $ url, $ logger );
47
62
});
48
63
}
49
64
50
65
public function provides ()
51
66
{
52
- return ['fcm.client ' , 'fcm.group ' , 'fcm.sender ' ];
67
+ return ['fcm.client ' , 'fcm.group ' , 'fcm.sender ' , ' fcm.logger ' ];
53
68
}
54
69
}
0 commit comments