Guest User

Untitled

a guest
Oct 18th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.57 KB | None | 0 0
  1. <?php
  2.  
  3. // No trailing slash
  4. define('BURST_LOG_PATH', ABSPATH . 'wp-content');
  5.  
  6. // Define which get logged in Burst::$_burst_log_levels
  7. define('BURST_INFO', 1);
  8. define('BURST_DEBUG', 2);
  9. define('BURST_CRITICAL', 3);
  10.  
  11. if (!class_exists('Burst')) {
  12. class Burst {
  13.  
  14. protected static $_burst_log_levels = array(BURST_INFO,
  15. BURST_DEBUG,
  16. BURST_CRITICAL);
  17.  
  18. protected static $_default_log_file = 'burst.log';
  19.  
  20. public static function log($message, $level=BURST_DEBUG, $file=null, $force=false) {
  21. if (!in_array($level, self::$_burst_log_levels) && $force == false) {
  22. return false;
  23. } else {
  24. $filename = ($file === null) ? self::$_default_log_file : $file;
  25. $filename = BURST_LOG_PATH . '/' . $filename;
  26.  
  27. $log_level_phrase = ($level == 1) ? "INFO " : (($level == 2) ? "DEBUG" : "CRIT ");
  28.  
  29. // print_r if message is an object or array
  30. $message = (is_array($message) || is_object($message)) ? print_r($message, true) : $message;
  31.  
  32. $formatted_message = sprintf('%s %s (%d): %s',
  33. date('c') /* Timestamp */,
  34. $log_level_phrase /* Log Level Phrase */,
  35. (int) $level /* Log Level Number */,
  36. $message /* Log Message */) . PHP_EOL;
  37.  
  38. $file_write = @file_put_contents($filename, $formatted_message, FILE_APPEND);
  39.  
  40. if ($file_write === false) {
  41. return false;
  42. } else {
  43. return true;
  44. }
  45. }
  46. }
  47.  
  48. public static function log_environment($level=BURST_DEBUG, $file='burst.env.log') {
  49. self::log(json_encode($_SERVER), $level, $file);
  50. self::log(json_encode($_REQUEST), $level, $file);
  51. }
  52. }
  53. }
Add Comment
Please, Sign In to add comment