Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // No trailing slash
- define('BURST_LOG_PATH', ABSPATH . 'wp-content');
- // Define which get logged in Burst::$_burst_log_levels
- define('BURST_INFO', 1);
- define('BURST_DEBUG', 2);
- define('BURST_CRITICAL', 3);
- if (!class_exists('Burst')) {
- class Burst {
- protected static $_burst_log_levels = array(BURST_INFO,
- BURST_DEBUG,
- BURST_CRITICAL);
- protected static $_default_log_file = 'burst.log';
- public static function log($message, $level=BURST_DEBUG, $file=null, $force=false) {
- if (!in_array($level, self::$_burst_log_levels) && $force == false) {
- return false;
- } else {
- $filename = ($file === null) ? self::$_default_log_file : $file;
- $filename = BURST_LOG_PATH . '/' . $filename;
- $log_level_phrase = ($level == 1) ? "INFO " : (($level == 2) ? "DEBUG" : "CRIT ");
- // print_r if message is an object or array
- $message = (is_array($message) || is_object($message)) ? print_r($message, true) : $message;
- $formatted_message = sprintf('%s %s (%d): %s',
- date('c') /* Timestamp */,
- $log_level_phrase /* Log Level Phrase */,
- (int) $level /* Log Level Number */,
- $message /* Log Message */) . PHP_EOL;
- $file_write = @file_put_contents($filename, $formatted_message, FILE_APPEND);
- if ($file_write === false) {
- return false;
- } else {
- return true;
- }
- }
- }
- public static function log_environment($level=BURST_DEBUG, $file='burst.env.log') {
- self::log(json_encode($_SERVER), $level, $file);
- self::log(json_encode($_REQUEST), $level, $file);
- }
- }
- }
Add Comment
Please, Sign In to add comment