Maison  >  Article  >  cadre php  >  Comment écrire des logs dans le framework Yii ?

Comment écrire des logs dans le framework Yii ?

angryTom
angryTomoriginal
2020-01-21 18:59:423284parcourir

Pendant le développement, afin de nous faciliter le débogage du programme et l'enregistrement des informations, nous écrirons les informations nécessaires dans un fichier, qui est le fichier journal. Le framework Yii nous fournit une bonne méthode d'écriture des journaux. jetez un oeil ensemble.

Comment écrire des logs dans le framework Yii ?

Comment écrire des logs dans le framework yii ?

1. Pour utiliser la connexion dans Yii, vous devez d'abord modifier le fichier de configuration :

'log' => [
    'traceLevel' => YII_DEBUG ? 3 : 0,
    'targets' => [
        [
            'class' => 'yii\log\FileTarget',
            'levels' => ['error', 'warning'],
            'logVars' => ['_GET'],
        ],
    ],
],

explication du paramètre target :

La classe ● spécifie l'utilisation de fichiers pour enregistrer les journaux

● les niveaux spécifient l'enregistrement des journaux d'erreurs et d'avertissements

● logVars spécifie l'enregistrement des paramètres d'obtention

Si logVars est non spécifié, GET POST COOKIE sera enregistré sur le SERVEUR DE SESSION et d'autres paramètres, qui affecteront notre visualisation, nous pouvons le modifier en

'logVars' => ['*'], // 只记录message

2. Utilisez ce qui suit :

Yii::error($message);
Yii::warning($message);

pour écrire le journal dans différents fichiers

Méthode 1 : attribuez d'abord l'adresse du fichier journal où le journal doit être enregistré, puis écrivez le journal

Yii::$app->log->targets[0]->logFile = Yii::getAlias('@runtime').DIRECTORY_SEPARATOR.'logs'.DIRECTORY_SEPARATOR.'app2.log';
Yii::warning($message);

Méthode 2 (recommandée) : Modifier le fichier de configuration main.php

'log' => [
    'traceLevel' => YII_DEBUG ? 3 : 0,
    'targets' => [
        [
            'class' => 'yii\log\FileTarget',
            'levels' => ['error', 'warning'],
            'logVars' => ['*'],
            //'categories' => ['application'],
            //'logFile' => '@runtime/logs/app.log',
        ],
        [
            'class' => 'yii\log\FileTarget',
            'categories' => ['pay'],
            'levels' => ['error', 'warning'],
            'logVars' => ['*'],
            'logFile' => '@runtime/logs/pay.log',
        ],
        [
            'class' => 'yii\log\FileTarget',
            'categories' => ['order'],
            'levels' => ['error', 'warning'],
            'logVars' => ['*'],
            'logFile' => '@runtime/logs/order.log',
        ],
    ],
],

Utiliser :

Yii::warning($message,'pay')

Le message ici sera enregistré dans pay.log, et bien sûr il sera également enregistré dans les valeurs par défaut. Vous pouvez décommenter ce code dans

dans app.log : //'categories' => ['application'],, afin qu'il ne soit enregistré que dans les journaux respectifs.

Mais cela entraînera également que certaines informations d'erreur ne soient pas enregistrées dans app.log.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn