


Système de journalisation dans le framework Yii : enregistrement des événements d'application
Dans le framework Yii, il existe un système de journalisation complet qui peut enregistrer les événements d'application afin que les développeurs puissent effectuer le débogage et l'analyse des performances. Cet article présentera l'utilisation de base du système de journalisation dans le framework Yii et quelques techniques pratiques.
- Configuration du composant de journal
Le framework Yii utilise des fichiers comme méthode de stockage des journaux par défaut, et vous pouvez configurer le composant de journal dans le fichier de configuration. Voici un exemple de configuration simple :
'log' => [ 'traceLevel' => YII_DEBUG ? 3 : 0, 'targets' => [ [ 'class' => 'yiilogFileTarget', 'levels' => ['error', 'warning'], 'logFile' => '@runtime/logs/app.log', ], ], ],
Parmi eux, traceLevel
fait référence au niveau de journalisation enregistré par le framework Yii en mode debug
, le plus le niveau est élevé, plus les informations détaillées sont enregistrées. targets
est un tableau qui peut configurer plusieurs cibles de journal. Dans cet exemple, il n'y a qu'une seule cible, qui consiste à écrire le niveau erreur
et avertissement
. se connecte au fichier < code>@runtime/logs/app.log. traceLevel
是指Yii框架在debug
模式下记录的日志级别,越高则记录的信息越详细。targets
是一个数组,可以配置多个日志目标,本例中只有一个目标,即将error
和warning
级别的日志写入@runtime/logs/app.log
文件。
- 记录日志信息
在代码中记录日志信息很简单,可以使用Yii框架提供的快捷函数,例如:
Yii::info('This is an info message.'); Yii::warning('This is a warning message.'); Yii::error('This is an error message.');
快捷函数中,info
、warning
和error
分别对应日志的三个级别。可以根据情况选择使用。
在记录日志时,除了直接记录字符串以外,还可以使用可替换的数据,使用占位符{}
表示。例如:
Yii::info('User {username} registered successfully.', ['username' => 'John']);
此时,{username}
将被替换为'John'。这样的好处是日志信息更加详细,更易于排查问题。
- 使用上下文信息
Yii框架的日志系统支持使用上下文信息来记录更详细的日志信息。上下文信息包括了一些额外的数据,例如当前用户的信息、请求参数等等。在记录日志时,可以通过设置$context
参数来添加上下文信息,例如:
Yii::warning('Invalid user input', ['category' => 'appcontrollersMyController', 'action' => 'create', 'params' => $_POST]);
在上述代码中,我们使用了3个上下文信息,分别是所属的控制器类、请求的方法和请求参数。这样就可以更加清晰地了解日志发生的位置以及具体的请求信息。
- 过滤和分类
在实际应用中,我们可能并不希望记录所有的日志信息。Yii框架的日志系统提供了过滤和分类的机制,可以根据条件过滤和分类日志消息。
在配置中,可以设置categories
属性来分类日志消息,例如:
'log' => [ 'targets' => [ [ 'class' => 'yiilogFileTarget', 'categories' => ['appcontrollersMyController'], 'logFile' => '@runtime/logs/mycontroller.log', ], ], ],
在上述配置中,我们只记录来自appcontrollersMyController
控制器的日志信息,并将它们写入@runtime/logs/mycontroller.log
文件。
除了分类之外,我们还可以使用函数过滤日志消息,例如:
'log' => [ 'targets' => [ [ 'class' => 'yiilogFileTarget', 'levels' => ['error'], 'logFile' => '@runtime/logs/app.log', 'logVars' => [], 'except' => [ 'yiiwebHttpException:404', ], ], ], ],
在上述配置中,我们只记录error
级别的日志信息,同时忽略了所有的上下文信息。我们使用了except
属性来指定要忽略的日志消息。在此例中,我们忽略了所有的404错误信息。
- 自定义日志目标
Yii框架的日志系统允许我们自定义日志目标,例如将日志消息发送到email、数据库或者第三方日志服务等等。需要自定义日志目标时,我们需要继承yiilogTarget
类,并实现export
方法。例如:
class EmailTarget extends yiilogTarget { public $to; public function export() { foreach ($this->messages as $message) { mail($this->to, $message[0], $message[1]); } } }
在上述代码中,我们定义了一个自定义的邮件目标,并实现了export
方法。在export
方法中,我们使用mail
- Enregistrer les informations du journal
L'enregistrement des informations du journal dans le code est très simple. Vous pouvez utiliser les fonctions de raccourci fournies par Yii. framework, tel que :
rrreeeDans la fonction raccourci, info
, warning
et error
correspondent aux trois niveaux de journaux respectivement. Vous pouvez choisir de l'utiliser en fonction de la situation.
{}
. Par exemple : #🎜🎜#rrreee#🎜🎜#À ce moment, {username}
sera remplacé par « John ». L'avantage est que les informations du journal sont plus détaillées et permettent de résoudre plus facilement les problèmes. #🎜🎜#- #🎜🎜#Utiliser des informations contextuelles #🎜🎜##🎜🎜##🎜🎜#Le système de journalisation du framework Yii prend en charge l'utilisation d'informations contextuelles pour enregistrer des informations de journal plus détaillées. Les informations contextuelles incluent des données supplémentaires, telles que les informations sur l'utilisateur actuel, les paramètres de demande, etc. Lors de l'enregistrement des logs, vous pouvez ajouter des informations contextuelles en définissant le paramètre
$context
, par exemple : #🎜🎜#rrreee#🎜🎜#Dans le code ci-dessus, nous utilisons 3 informations contextuelles, à savoir l'appartenance au contrôleur classe, méthode de requête et paramètres de requête. Cela permettra de mieux comprendre où se trouvent les journaux et les informations spécifiques de la demande. #🎜🎜#- #🎜🎜#Filtrage et classification#🎜🎜##🎜🎜##🎜🎜#Dans les applications pratiques, nous ne souhaitons peut-être pas enregistrer toutes les informations du journal. Le système de journalisation du framework Yii fournit un mécanisme de filtrage et de classification qui peut filtrer et classer les messages de journal en fonction de conditions. #🎜🎜##🎜🎜#Dans la configuration, vous pouvez définir l'attribut
categories
pour classer les messages de journal, par exemple : #🎜🎜#rrreee#🎜🎜#Dans la configuration ci-dessus, nous enregistrons uniquement messages provenant des informations du journal du contrôleur appcontrollersMyController
et écrivez-les dans le fichier @runtime/logs/mycontroller.log
. #🎜🎜##🎜🎜#En plus de la classification, nous pouvons également utiliser des fonctions pour filtrer les messages du journal, par exemple : #🎜🎜#rrreee#🎜🎜#Dans la configuration ci-dessus, nous enregistrons uniquement l'erreur code> informations de journal au niveau, tout en ignorant toutes les informations contextuelles. Nous utilisons l'attribut <code>sauf
pour spécifier les messages de journal à ignorer. Dans cet exemple, nous ignorons tous les messages d'erreur 404. #🎜🎜#- #🎜🎜#Cible de journal personnalisée#🎜🎜##🎜🎜##🎜🎜#Le système de journalisation du framework Yii nous permet de personnaliser la cible du journal, comme l'envoi de messages de journal vers un e-mail, une base de données ou un service de journalisation tiers, etc. Lorsque nous devons personnaliser la cible du journal, nous devons hériter de la classe
yiilogTarget
et implémenter la méthode export
. Par exemple : #🎜🎜#rrreee#🎜🎜#Dans le code ci-dessus, nous définissons une cible d'e-mail personnalisée et implémentons la méthode export
. Dans la méthode export
, nous utilisons la fonction mail
pour envoyer le message de journal à la boîte aux lettres spécifiée. #🎜🎜##🎜🎜#Dans les applications pratiques, nous pouvons écrire différentes cibles de journaux selon les besoins pour répondre aux différentes exigences de stockage de journaux. #🎜🎜##🎜🎜#Summary#🎜🎜##🎜🎜#Le système de journalisation du framework Yii est un composant très pratique qui peut aider les développeurs à suivre les événements des applications pour un meilleur débogage et une meilleure analyse des performances. Lors de l'utilisation du système de journalisation, nous devons comprendre la configuration et l'utilisation de base, ainsi que quelques conseils pratiques, tels que l'utilisation d'informations contextuelles, la classification et le filtrage, la personnalisation des cibles de journal, etc. Ce n'est qu'en comprenant en profondeur et en utilisant de manière flexible le système de journalisation que nous pourrons mieux résoudre les problèmes de journalisation et améliorer la qualité et les performances des applications. #🎜🎜#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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Les journaux de Win10 peuvent aider les utilisateurs à comprendre l'utilisation du système en détail. De nombreux utilisateurs doivent avoir rencontré le journal 6013 lorsqu'ils recherchent leurs propres journaux de gestion. Alors, que signifie ce code ? Qu'est-ce que le journal Win10 6013 : 1. Il s'agit d'un journal normal. Les informations contenues dans ce journal ne signifient pas que votre ordinateur a été redémarré, mais elles indiquent combien de temps le système a fonctionné depuis son dernier démarrage. Ce journal apparaîtra une fois par jour à 12 heures précises. Comment vérifier depuis combien de temps le système fonctionne ? Vous pouvez saisir les informations système dans cmd. Il y a une ligne dedans.

Les journaux de Win10 peuvent aider les utilisateurs à comprendre l'utilisation du système en détail. De nombreux utilisateurs doivent avoir vu de nombreux journaux d'erreurs lorsqu'ils recherchent leurs propres journaux de gestion. Alors, comment les résoudre ? Comment résoudre l'événement 7034 du journal Win10 : 1. Cliquez sur "Démarrer" pour ouvrir le "Panneau de configuration" 2. Recherchez "Outils d'administration" 3. Cliquez sur "Services" 4. Recherchez HDZBCommServiceForV2.0, cliquez avec le bouton droit sur "Arrêter le service" et modifiez-le. vers "Démarrage manuel "

Sur les iPhones exécutant iOS 16 ou version ultérieure, vous pouvez afficher les événements du calendrier à venir directement sur l'écran de verrouillage. Lisez la suite pour savoir comment procéder. Grâce aux complications du cadran, de nombreux utilisateurs d'Apple Watch sont habitués à pouvoir jeter un coup d'œil à leur poignet pour voir le prochain événement du calendrier à venir. Avec l'avènement d'iOS16 et des widgets d'écran de verrouillage, vous pouvez afficher les mêmes informations sur les événements du calendrier directement sur votre iPhone sans même déverrouiller l'appareil. Le widget Calendar Lock Screen est disponible en deux versions, vous permettant de suivre l'heure du prochain événement à venir ou d'utiliser un widget plus grand qui affiche les noms des événements et leurs heures. Pour commencer à ajouter des widgets, déverrouillez votre iPhone à l'aide de Face ID ou Touch ID, appuyez et maintenez

iPhone vous permet d’ajouter des médicaments dans l’application Santé pour suivre et gérer les médicaments, vitamines et suppléments que vous prenez quotidiennement. Vous pouvez ensuite enregistrer les médicaments que vous avez pris ou ignorés lorsque vous recevez une notification sur votre appareil. Après avoir enregistré vos médicaments, vous pouvez voir à quelle fréquence vous les avez pris ou sautés pour vous aider à suivre votre état de santé. Dans cet article, nous vous guiderons pour afficher l'historique des journaux de médicaments sélectionnés dans l'application Santé sur iPhone. Un petit guide sur la façon d'afficher l'historique de votre journal de médicaments dans l'application Santé : Accédez à l'application Santé > Parcourir > Médicaments > Médicaments > Sélectionner un médicament > Options

Sur les systèmes Linux, vous pouvez utiliser la commande suivante pour afficher le contenu du fichier journal : Commande tail : La commande tail est utilisée pour afficher le contenu à la fin du fichier journal. Il s'agit d'une commande courante pour afficher les dernières informations du journal. tail [option] [nom du fichier] Les options couramment utilisées incluent : -n : Spécifiez le nombre de lignes à afficher, la valeur par défaut est de 10 lignes. -f : Surveillez le contenu du fichier en temps réel et affichez automatiquement le nouveau contenu lorsque le fichier est mis à jour. Exemple : tail-n20logfile.txt#Afficher les 20 dernières lignes du fichier logfile.txt tail-flogfile.txt#Surveiller le contenu mis à jour du fichier logfile.txt en temps réel Commande head : La commande head permet d'afficher le début du fichier journal

Lorsqu'une valeur est ajoutée à la zone de saisie, l'événement oninput se produit. Vous pouvez essayer d'exécuter le code suivant pour comprendre comment implémenter les événements oninput en JavaScript - Exemple<!DOCTYPEhtml><html> <body> <p>Écrivez ci-dessous :</p> <inputtype="text"

Comment implémenter des fonctions de calendrier et des rappels d'événements dans les projets PHP ? La fonctionnalité de calendrier et les rappels d'événements sont l'une des exigences courantes lors du développement d'applications Web. Qu'il s'agisse de gestion d'agenda personnel, de collaboration en équipe ou de planification d'événements en ligne, la fonction de calendrier peut fournir une gestion pratique du temps et l'organisation des transactions. L'implémentation de fonctions de calendrier et de rappels d'événements dans les projets PHP peut être réalisée en suivant les étapes suivantes. Conception de la base de données Tout d'abord, vous devez concevoir une table de base de données pour stocker les informations sur les événements du calendrier. Une conception simple peut contenir les champs suivants : id : unique à l'événement

jQuery est une bibliothèque JavaScript populaire qui peut être utilisée pour simplifier la manipulation du DOM, la gestion des événements, les effets d'animation, etc. Dans le développement Web, nous rencontrons souvent des situations dans lesquelles nous devons modifier la liaison d'événements sur des éléments sélectionnés. Cet article explique comment utiliser jQuery pour lier des événements de modification d'éléments sélectionnés et fournit des exemples de code spécifiques. Tout d'abord, nous devons créer un menu déroulant avec des options utilisant des étiquettes :
