Question

03Cp> Quelqu'un peut-il aider à cela:u003C/

03Cblockquote> nu0

03Cp> (PSR Log InvalidargumentException): Niveau "" n'est pas défini, utilisez un N de: 100, 200, 250, 300, 400, 500, 550, 600u003Cbr> n Vendor monolog monolog src monolog Logger.php (256): n monolog enregistreur :: getlevelname (null) n lib interne magento framework LOGGER Monolog.php (24): N Monolog Logger-> AddRecord (NULL, 'TAGYYS Demande ...', Array)u003C/

p> nu003C/blockquot

03Cp> Voici comment j'ai utilisé l'enregistreuru003C/

protected $logger;
public function __construct(
\Psr\Log\LoggerInterface $logger,
 ) {
     $this->logger = $logger;   
   }

public function xyz(){
$this->logger->log(null, 'Tagalys Request Object: '.json_encode($payload)); 
} 

03Cp> Je ne reçois aucun fichier journalu003C/

Était-ce utile?

La solution

03Cp> Lorsque vous utilisez le \Psr\Log\LoggerInterface, le premier paramètre doit être un niveau de journal.u003C/

03Cp> Des niveaux différents peuvent être trouvés sous Psr\Log\LogLevel:u003C/

class LogLevel
{
    const EMERGENCY = 'emergency';
    const ALERT = 'alert';
    const CRITICAL = 'critical';
    const ERROR = 'error';
    const WARNING = 'warning';
    const NOTICE = 'notice';
    const INFO = 'info';
    const DEBUG = 'debug';
}

03Cp> Donc, si vous souhaitez vous connecter, par exemple, une information de débogage que vous devrez appeler:u003C/

$this->logger->log(\Psr\Log\LogLevel::DEBUG, 'Tagalys Request Object: '.json_encode($payload));

03Cp> Pour éviter de devoir spécifier le niveau de journal, la classe fournit une méthode par niveau, à la place du code ci-dessus, vous pouvez également faire:u003C/

$this->logger->debug('Tagalys Request Object: '.json_encode($payload));

03Cp> Les autres méthodes disponibles sont:u003C/

    03Cul> nu003Cli>
  • emergency()
  • u003C/li> nu003Cli>
  • alert()
  • u003C/li> nu003Cli>
  • critical()
  • u003C/li> nu003Cli>
  • error()
  • u003C/li> nu003Cli>
  • warning()
  • u003C/li> nu003Cli>
  • notice()
  • u003C/li> nu003Cli>
  • info()
  • u003C/li> nu003C/u

03Cp> Utilisation de cette classe, vous ne pouvez pas spécifier un fichier journal personnalisé.u003C/

03Cp> Si vous voulez le faire, vous pouvez utiliser le code suivant:u003C/

$writer = new \Zend\Log\Writer\Stream(BP . '/var/log/mylogfile.log');
$logger = new \Zend\Log\Logger();
$logger->addWriter($writer);
$logger->info('Your text message');
Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top