Maison php教程 PHP源码 一个简单的日志记录函数

一个简单的日志记录函数

May 25, 2016 pm 05:08 PM

php代码

/**
 * 记录一条日志,会以以下三种方式依次尝试写日志。
 * - 向当前参数指定的文件写入日志。
 * - 尝试向php.ini中指定的error_log写内容。
 * - 向系统日志写内容,还是失败的话则返回false。
 *
 * 不用每次调用时都指定logFile和dateFormat参数
 * 系统会自动记住上次指定的内容。
 *
 * PHP5.0之后请确保已经设置好时区,否则可能会抛出一个错误。
 * example:
 * @code php
 * // 第一次调用,初始化日志,并写入第一条信息。
 * logg('init...', LOG_INFO, '/usr/log.txt', 'y-m-d');
 * // 写日志
 * logg('log msg', LOG_INFO);
 * @endcode
 *
 * @param string $message 日志内容
 * @param int $type 日志类型,参照syslog函数的参数
 * @param string $logFile 日志文件
 * @param string $dateFormat 日志的时间格式
 * @return bool 是否成功写入
 * @staticvar array $types 参数$type对应的描述信息。
 * @staticvar string $file 保存$logFile参数最后次传递的内容。
 * @staticvar string $format 保存$dateFormat参数最后传递的内容。
 * @link http://blog.830725.com/post/13.html
 */
function logg($message, $type, $logFile = null, $dateFormat = null)
{
  static $types = array(
  LOG_EMERG => 'EMERG',
  LOG_ALERT => 'ALERT',
  LOG_CRIT => 'CRITICAL',
  LOG_ERR => 'ERROR',
  LOG_WARNING => 'WARNING',
  // windows下,以下这三个值是一样的
  LOG_NOTICE  => 'NOTICE',
  LOG_DEBUG => 'DEBUG',
  LOG_INFO => 'INFO');
  static $file = null;
  static $format = 'Y-m-d H:i:s';
  if(!is_null($logFile)){ $file = $logFile; }
  if(!is_null($dateFormat)){  $format = $dateFormat; }
  /* 格式化消息 */
  $type = isset($types[$type]) ? $type : LOG_INFO;
  $msg = date($format) . ' [' . $types[$type] . '] ' . $message . PHP_EOL;
  if(error_log($msg, 3, $file))
  { return true;  }
  if(error_log($msg, 0))
  { return true;  }
  return syslog($type, $message);
}
Copier après la connexion

Déclaration de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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