Le traitement des journaux est automatiquement effectué par le système Lorsque la journalisation est activée, enregistrez toutes les informations du journal pour le. niveaux de journalisation autorisés.
Parmi eux, pour des raisons de performances, le niveau de journalisation SQL doit être valide lorsque le mode débogage est activé, sinon il ne sera pas enregistré. La journalisation système est complétée par la classe principale ThinkLog et son pilote, qui offrent diverses façons d'enregistrer différents niveaux d'informations de journalisation.
Par défaut, la journalisation est enregistrée uniquement en mode débogage. Pour activer la journalisation en mode déploiement, le paramètre LOG_RECORD
doit être activé dans la configuration, et le niveau de journalisation à enregistrer peut être configuré dans la configuration de l'application. fichier, par exemple :
<span class="str">'LOG_RECORD'<span class="pln"> <span class="pun">=><span class="pln"> <span class="kwd">true<span class="pun">,<span class="pln"> <span class="com">// 开启日志记录</span></span></span></span></span></span></span></span>
<span class="str">'LOG_LEVEL'<span class="pln"> <span class="pun">=><span class="str">'EMERG,ALERT,CRIT,ERR'<span class="pun">,<span class="pln"> <span class="com">// 只记录EMERG ALERT CRIT ERR 错误</span></span></span></span></span></span></span>
Niveau de journalisation
ThinkPHP classe les journaux système en fonction des niveaux , notamment :
- EMERG Erreur grave, provoquant le crash du système et le rendant inutilisable
- ALERTE Erreur d'alerte, une erreur qui doit être corrigé immédiatement
- CRIT Erreur de valeur critique, erreur dépassant la valeur critique
- ERR Erreur générale
- WARN Erreur d'avertissement, une erreur qui doit être avertie
- AVIS Notification, une erreur que le programme peut exécuter mais n'est pas encore parfait
- INFO Informations, informations de sortie du programme
- DEBUG Débogage, utilisé pour les informations de débogage
- SQL Instruction SQL, ce niveau n'est valide qu'en mode débogage est activé
Méthode d'enregistrement
La méthode d'enregistrement du journal par défaut est la méthode de fichier, qui peut être étendue pour prendre en charge davantage de méthodes d'enregistrement via le pilote.
La méthode d'enregistrement est configurée par le paramètre LOG_TYPE, par exemple :
<span class="str">'LOG_TYPE'<span class="pln"> <span class="pun">=><span class="pln"> <span class="str">'File'<span class="pun">,<span class="pln"> <span class="com">// 日志记录类型 默认为文件方式</span></span></span></span></span></span></span></span>
Enregistrement en mode fichier, le driver correspondant le fichier se trouve dans le système
Library/Think/Log/Driver/File.class.php
.
Enregistrement manuel
Généralement, la journalisation du système est automatique et il n'est pas nécessaire d'enregistrer manuellement. Cependant, il est parfois également nécessaire d'enregistrer manuellement les informations du journal. 3 Méthode de journalisation.
方法 | 描述 |
---|---|
Log::record() | 记录日志信息到内存 |
Log::save() | 把保存在内存中的日志信息(用指定的记录方式)写入 |
Log::write() | 实时写入一条日志信息 |
Étant donné que le système appellera automatiquement la méthode Log::save une fois la demande terminée, il vous suffit généralement d'appeler Log::record pour enregistrer les informations du journal.
La méthode d'enregistrement est utilisée comme suit :
<span class="pln">ThinkLog<span class="pun">::<span class="pln">record<span class="pun">(<span class="str">'测试日志信息'<span class="pun">);</span></span></span></span></span></span>
Le niveau de journalisation par défaut est ERR, vous pouvez également spécifier le niveau de journalisation :
<span class="pln">ThinkLog<span class="pun">::<span class="pln">record<span class="pun">(<span class="str">'测试日志信息,这是警告级别'<span class="pun">,<span class="str">'WARN'<span class="pun">);</span></span></span></span></span></span></span></span>
La méthode d'enregistrement enregistrera uniquement les informations au niveau de journalisation autorisé par la configuration actuelle si la configuration de l'application est :
- .
-
<span class="str">'LOG_LEVEL'<span class="pln"> <span class="pun">=><span class="str">'EMERG,ALERT,CRIT,ERR'<span class="pun">,<span class="pln"> <span class="com">// 只记录EMERG ALERT CRIT ERR 错误</span></span></span></span></span></span></span>
Ensuite, les informations du journal enregistrées par la méthode d'enregistrement ci-dessus seront filtrées directement, ou vous pouvez forcer l'enregistrement :
<span class="pln">ThinkLog<span class="pun">::<span class="pln">record<span class="pun">(<span class="str">'测试日志信息,这是警告级别'<span class="pun">,<span class="str">'WARN'<span class="pun">,<span class="kwd">true<span class="pun">);</span></span></span></span></span></span></span></span></span></span>
Les informations du journal enregistrées à l'aide de la méthode d'enregistrement ne sont pas enregistrées en temps réel. Si un enregistrement en temps réel est requis, la méthode d'écriture peut être utilisée, par exemple :
<span class="pln">ThinkLog<span class="pun">::<span class="pln">write<span class="pun">(<span class="str">'测试日志信息,这是警告级别,并且实时写入'<span class="pun">,<span class="str">'WARN'<span class="pun">);</span></span></span></span></span></span></span></span>