您的位置:首页 > 编程语言 > PHP开发

php下phalcon 日志类Logger

2015-07-03 23:11 666 查看
注意:

其中创建文件夹用到了php中的mkdir,  

同一个类中函数之间调用需要加  self::

连接字符串用 .

<?php

use Phalcon\Logger\Adapter\File as FileAdapter;

use Phalcon\Logger\Formatter\Line as LineFormatter;

/**

 *

 */

class Log

{
// private static $_format;
private static $_log_name;

    private static $_instance;

    private $_log_dir;

    public static function instance() {

        if ( self::$_instance == null ) {

            self::$_instance = new self();

        }

        return self::$_instance;

    }

    public function set_log_dir($log_dir=__DIR__ . '/../../logs')

    {

        self::$_log_dir = $log_dir;

    }

    private function mkdirs($dir, $mode = 0777)

    {

        //echo $dir.'</br>';

        if (is_dir($dir) || @mkdir($dir, $mode)) return TRUE;

        if (!self::mkdirs(dirname($dir), $mode)) return FALSE;

        return @mkdir($dir, $mode);

    }

    public function log($log_value, $log_type="DEBUG")

    {

    date_default_timezone_set('PRC');

    $year = date("Y",time());

    $month = date("m",time());

    $day = date("d",time());

        $dir_file = self::$_log_dir.'/'.$year."/".$month."/".$day;

        self::mkdirs($_dir_file);

$log_name = new FileAdapter($dir_file."/".$day.".log");
$formatter = new LineFormatter(" [%type%] - %message% ");//定义信息格式
$_log_name->setFormatter($formatter);

        $_log_name->begin();

        $_log_name->alert(date("Y-m-d H:i:s",time()));
//输出时间

        if (strcasecmp($log_type, "INFO")==0) {
  $_log_name->log($log_value,\Phalcon\Logger::INFO);
//输出信息

        }

        else if(strcasecmp($log_type, "NOTICE")==0){
  $_log_name->log($log_value,\Phalcon\Logger::NOTICE);

        }

        else if(strcasecmp($log_type, "WARNING")==0||strcasecmp($_log_type, "WARN")==0){
  $_log_name->log($log_value,\Phalcon\Logger::WARNING);

        }

        else if(strcasecmp($log_type, "ERROR")==0){
  $_log_name->log($log_value,\Phalcon\Logger::ERROR);

        }

        else {
  $_log_name->log($log_value,\Phalcon\Logger::DEBUG);

        }
    

        $_log_name->commit();

    $_log_name->close();

    }

}

// example:

//require "app/util/Log.php";

//$some = Log::instance();

//$some->LogWrite("hello, world","ERROR");

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: