Logger.php 846 字节
<?php

namespace Lackoxygen\ShowDocGeneration;

use Symfony\Component\Console\Output\ConsoleOutput;
use Symfony\Component\Console\Output\OutputInterface;

class Logger
{
    public const NONE = 0;

    public const DISPLAY = 1;

    /**
     * @var int
     */
    private static int $mode;

    /**
     * @var OutputInterface $outputInterface
     */
    private static OutputInterface $outputInterface;

    /**
     * @return void
     */
    public static function setMode(int $mode)
    {
        self::$mode = $mode;
    }

    public static function setOutput(OutputInterface $output)
    {
        self::$outputInterface = $output;
    }

    public static function writeln(string $message)
    {
        if (self::$mode) {
            self::$outputInterface->writeln(sprintf("[%s]: %s", now()->toString(), $message));
        }
    }
}