PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.10.2
GiveWP – Donation Plugin and Fundraising Platform v2.10.2
4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / Log / Log.php
give / src / Log Last commit date
Admin 5 years ago Commands 5 years ago Helpers 5 years ago Migrations 5 years ago ValueObjects 5 years ago Assets.php 5 years ago Log.php 5 years ago LogFactory.php 5 years ago LogModel.php 5 years ago LogRepository.php 5 years ago LogServiceProvider.php 5 years ago
Log.php
117 lines
1 <?php
2
3 namespace Give\Log;
4
5 use Exception;
6
7 /**
8 * Class Log
9 *
10 * The static facade intended to be the primary way of logging within GiveWP to make life easier.
11 *
12 * @package Give\Log
13 * @since 2.10.0
14 *
15 * @note There are two special keywords used in the context that are representing category and source.
16 * The default value for the Category is "Core" and for the source is "Give Core"
17 * If you want to change the category and/or source, you should provide them as context attributes.
18 * Source and category attributes should be written lowercase.
19 *
20 * @example
21 *
22 * Log::error( 'Error message', [
23 * 'category' => 'Payment',
24 * 'source' => 'Stripe add-on'
25 * ] );
26 *
27 * @note Use as many contexts attributes as you need. The more the better.
28 *
29 * @example
30 *
31 * Log::error( 'Error message', [
32 * 'category' => 'Payment',
33 * 'source' => 'Stripe add-on',
34 * 'donation_id' => $donationId,
35 * 'donor_id' => $donorId
36 * ] );
37 *
38 * @note You can use an array or object as a context attribute value.
39 *
40 * @example
41 *
42 * try {
43 * something();
44 * } catch ( Exception $exception ) {
45 * Log::error( 'Something went wrong', [
46 * 'exception' => $exception,
47 * 'additional_info' => [
48 * 'donation_id' => $donationId
49 * ]
50 * ] );
51 * }
52 *
53 *
54 * @method static error( string $message, array $context = [] )
55 * @method static warning( string $message, array $context = [] )
56 * @method static notice( string $message, array $context = [] )
57 * @method static success( string $message, array $context = [] )
58 * @method static info( string $message, array $context = [] )
59 * @method static http( string $message, array $context = [] )
60 * @method static spam( string $message, array $context = [] )
61 */
62 class Log {
63 /**
64 * @param string $type
65 * @param array $args
66 */
67 public static function __callStatic( $type, $args ) {
68 list ( $message, $context ) = array_pad( $args, 2, null );
69
70 if ( is_array( $context ) ) {
71 // Convert context values to string
72 $context = array_map(
73 function ( $item ) {
74 if ( is_array( $item ) || is_object( $item ) ) {
75 $item = print_r( $item, true );
76 }
77
78 return $item;
79 },
80 $context
81 );
82
83 // Default fields
84 $data = array_filter(
85 $context,
86 function ( $key ) {
87 return array_key_exists( $key, LogFactory::getDefaults() );
88 },
89 ARRAY_FILTER_USE_KEY
90 );
91
92 // Additional context
93 $data['context'] = array_diff(
94 $context,
95 $data
96 );
97 }
98
99 // Set message
100 if ( ! is_null( $message ) ) {
101 $data['message'] = $message;
102 }
103
104 // Set type
105 $data['type'] = $type;
106
107 try {
108 $log = LogFactory::makeFromArray( $data );
109 $log->save();
110
111 return $log;
112 } catch ( Exception $exception ) {
113 error_log( $exception->getMessage() );
114 }
115 }
116 }
117