php下phalcon 日志类Logger

6 篇文章 0 订阅


注意:

其中创建文件夹用到了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");




?>








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值