reur monologue / enregistreur magen
-
30-09-2020 - |
Question
03Cp> Quelqu'un peut-il aider à cela:u003C/
03Cblockquote> nu003Cp> (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/
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');