Maison  >  Article  >  développement back-end  >  PHP implémente une fonction de journalisation

PHP implémente une fonction de journalisation

php中世界最好的语言
php中世界最好的语言original
2018-04-11 11:12:204954parcourir

Cette fois je vais vous présenter comment implémenter une fonction log en PHP. Quelles sont les précautions pour implémenter la fonction log en PHP Voici un cas pratique, jetons un oeil.

Cette fois, je vais vous présenter PHP pour implémenter une fonction de journalisation. Quelles sont les précautions à prendre pour que PHP implémente la fonction de journalisation ? Ce qui suit est un cas pratique, jetons un coup d'œil.

Nous allons écrire une fonction de journalisation. Nous devons d'abord comprendre les exigences. Comment utilisons-nous généralement la fonction de journalisation ? Par exemple, lorsque le programme atteint une certaine étape, j'espère imprimer la valeur de ? la variable (adresse) $user_address to Log, Nous espérons que le journal dira quelque chose comme ceci :

`xx-xx-xx xx:xx $user_address : xxxxx, Yangpu District, Shanghai

Ensuite, chaque journal a tous des sauts de ligne, une date et une heure

Supposons que le nom de la fonction soit log();

Nous voulons l'appeler log('useraddress:user_address) ; ;

Ensuite, si $user_address est un tableau, je veux afficher tout le contenu d'un tableau dans le journal que dois-je faire

Il existe une fonction appelée print_r($arg, true). Le deuxième paramètre signifie ne pas sortir directement. , mais le résultat de sortie est utilisé comme valeur de retour. Nous savons que son résultat de sortie est une chaîne.

log. la fonction peut être écrite comme ceci

log(){$args= func_get_args();//获得传入的所有参数的数组$numargs= func_num_args();//参数的个数if($numargs==0) {$log="";     } elseif ($numargs==1) {$log=$args[0];     }else{$format= 
array_shift
($args);//分割掉函数第一个元素,并且做返回值返回,'$user_address:%s'$log= 
vsprintf
($format,$args);//把参数代入$format中,}$log=date("[Y/m/d H:i:s] ") .$log. PHP_EOL;//加上时间$file='/usr/share/nginx/html/log.log'$fp=fopen($file,'a');fwrite($fp,$log);fclose($fp);returntrue;     }

Utilisation :
1 Imprimer la variable générale $a,

log('得到了$a的值:%s',$a );

2. . Imprimer un tableau $arr

log('%s',print_r($arr,true));

Vous pouvez améliorer la fonction ci-dessus

functionlog2($arg){$log= vsprintf('%s', print_r($arg,true));$log= date('[Y/m/d H:i:s]') .'---'.$log. PHP_EOL;$path= dirname(FILE) .'/log.log'$fp= 
file_put_contents
($path,$log, FILE_APPEND);returntrue; }$a=[1,23,45,45]; log2($a);

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. .Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de PHP !

Lecture recommandée :

Comment Laravel 5 empêche-t-il les attaques cross-site XSS

Explication détaillée de l'utilisation de PHP interface d'accès au tableau ArrayAccess

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