diff --git a/CHANGELOG.md b/CHANGELOG.md index 7f126e7e7dda3637a758bbc6dba978ded00fe759..ad96a28f55edb93b03489429c6396794ab2373cd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +## [1.5.1] - 2019-04-23 +### Changed +- Two files for custom loggers (default+custom) +### Fixed +- Tests + ## [1.5.0] - 2019-04-18 ### Changed - Log file is unified with old way logger and all is logged in /wp-content/uploads/wpdesk-logs/wpdesk_debug.log diff --git a/src/WP/WPCapture.php b/src/WP/WPCapture.php index 55ff27f9741287cfff9a4d07b24c2e00f895c5cc..f532de2e7c9c957fdeecae0f1c9a1f14b41efafa 100644 --- a/src/WP/WPCapture.php +++ b/src/WP/WPCapture.php @@ -3,9 +3,11 @@ namespace WPDesk\Logger\WP; class WPCapture { - /** @var string */ + /** @var string */ private $filename; + const LOG_DIR = 'wpdesk-logs'; + public function __construct($filename) { $this->filename = $filename; } @@ -115,7 +117,7 @@ class WPCapture { * @return string */ private function get_log_dir() { - return trailingslashit( $this->get_uploads_dir() ) . 'wpdesk-logs'; + return trailingslashit( $this->get_uploads_dir() ) . self::LOG_DIR; } /** diff --git a/src/WPDeskLoggerFactory.php b/src/WPDeskLoggerFactory.php index bf18cbdb571644808632b7f07d5ffe7235fb4dd3..dda349b777d896308b68b99e3a04e3f03800d885 100644 --- a/src/WPDeskLoggerFactory.php +++ b/src/WPDeskLoggerFactory.php @@ -84,30 +84,44 @@ class WPDeskLoggerFactory extends BasicLoggerFactory return Registry::getInstance($name); } $logger = $this->createLogger($name); - $wpCapture = $this->captureWPLog($name); $this->captureWooCommerce($logger); + $this->appendMainLog($logger); + if ($name !== self::DEFAULT_LOGGER_CHANNEL_NAME) { + $this->appendFileLog($logger, $this->getFileName($name)); + } + + return $logger; + } + /** + * @param $logger + */ + private function appendMainLog($logger) { + $wpCapture = $this->captureWPLog(); + $this->appendFileLog($logger, $wpCapture->get_log_file()); + } + + /** + * @param Logger $logger + */ + private function appendFileLog($logger, $filename) { try { - $this->pushFileHandle($wpCapture->get_log_file(), $logger); + $this->pushFileHandle($filename, $logger); } catch (InvalidArgumentException $e) { - $logger->emergency('File log could not be created - invalid filename.'); + $logger->emergency('Main log file could not be created - invalid filename.'); } catch (Exception $e) { - $logger->emergency('File log could not be written.'); + $logger->emergency('Main log file could not be written.'); } - - return $logger; } /** - * @param $name - * * @return WPCapture */ - private function captureWPLog($name) { + private function captureWPLog() { static $wpCapture; if (!$wpCapture) { - $wpCapture = new WPCapture($this->getFileName($name)); + $wpCapture = new WPCapture(basename($this->getFileName())); $wpCapture->init_debug_log_file(); } @@ -162,7 +176,8 @@ class WPDeskLoggerFactory extends BasicLoggerFactory */ public function getFileName($name = self::DEFAULT_LOGGER_CHANNEL_NAME) { - return $name . '_debug.log'; + $upload_dir = wp_upload_dir(); + return trailingslashit( untrailingslashit( $upload_dir['basedir'] ) ) . WPCapture::LOG_DIR . DIRECTORY_SEPARATOR . $name . '_debug.log'; } /**