UpdateLoggerFactory.php 991 Bytes
Newer Older
Ketan's avatar
Ketan committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
<?php
/**
 * Copyright © 2013-2017 Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */

namespace Magento\Update;

/**
 * Class to get PSR-3 compliant logger instance
 */
class UpdateLoggerFactory
{
    /**
     * @var string
     */
    private $logFile;

    /**
     * @var string
     */
    private $channelName;

    /**
     * Constructor
     * @param string $logFile
     * @param string $channelName
     *
     */
    public function __construct(
        $logFile = null,
        $channelName = 'update-cron'
    ) {
        $this->logFile = $logFile ? $logFile : MAGENTO_BP . '/var/log/update.log';
        $this->channelName = $channelName;
    }

    /**
     * Create logger instance.
     *
     * @return \Psr\Log\LoggerInterface
     */
    public function create()
    {
        $logger = new \Monolog\Logger($this->channelName);
        $logger->pushHandler(new \Monolog\Handler\StreamHandler($this->logFile));
        return $logger;
    }
}