Вход Регистрация
Файл: vendor/laravel/prompts/src/Support/Logger.php
Строк: 74
<?php

namespace LaravelPromptsSupport;

class 
Logger
{
    
/**
     * Create a new Logger instance.
     *
     * @param  resource|null  $socket
     */
    
public function __construct(protected string $identifier, protected $socket null)
    {
        
//
    
}

    
/**
     * The buffer for streaming text.
     */
    
protected string $streamBuffer '';

    
/**
     * Log a line to the process log.
     */
    
public function line(string $message): void
    
{
        
$this->write(rtrim($message));
    }

    
/**
     * Append a chunk of text, accumulating on the current line(s).
     */
    
public function partial(string $chunk): void
    
{
        
$this->streamBuffer .= $chunk;
        
$this->write($this->streamBuffer'partial');
    }

    
/**
     * Commit the accumulated partial text and start fresh.
     */
    
public function commitPartial(): void
    
{
        
$this->streamBuffer '';
        
$this->write('''commitpartial');
    }

    
/**
     * Log a success message to the process log.
     */
    
public function success(string $message): void
    
{
        
$this->write($message'success');
    }

    
/**
     * Log a warning message to the process log.
     */
    
public function warning(string $message): void
    
{
        
$this->write($message'warning');
    }

    
/**
     * Log an error message to the process log.
     */
    
public function error(string $message): void
    
{
        
$this->write($message'error');
    }

    
/**
     * Update the label of the process log.
     */
    
public function label(string $message): void
    
{
        
$this->write($message'label');
    }

    
/**
     * Update the sub-label of the process log. Pass an empty string to clear.
     */
    
public function subLabel(string $message): void
    
{
        
$this->write($message'sublabel');
    }

    
/**
     * Write a message to the socket.
     */
    
protected function write(string $message, ?string $type null): void
    
{
        if (
$this->socket === null) {
            return;
        }

        if (
$type !== null) {
            
fwrite($this->socket$this->prefix($type$message).PHP_EOL);
        } else {
            
fwrite($this->socket$message.PHP_EOL);
        }
    }

    
/**
     * Prefix a message with the identifier and type.
     */
    
protected function prefix(string $typestring $message): string
    
{
        return 
$this->identifier.'_'.$type.':'.rtrim($messagePHP_EOL);
    }
}
Онлайн: 2
Реклама