`
长虫的梅子
  • 浏览: 42191 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

PHP日志类

    博客分类:
  • PHP
阅读更多
PHP日志类:
以 年月日 目录级生成日志文件
可设置单个日志文件的大小 日志类型等


<?php
/**
 * 日志类
 *
 * @package    log
 * @version    $Id$
 */
class Log
{
    /**
     * 单个日志文件大小限制
     *
     * @var int 字节数
     */
    private static $i_log_size = 5242880; // 1024 * 1024 * 5 = 5M
    
    /**
     * 设置单个日志文件大小限制
     * 
     * @param int $i_size 字节数
     */
    public static function set_size($i_size)
    {
    	if( is_numeric($i_size) ){
    		self::$i_log_size = $i_size;
    	}
    }

    /**
     * 写日志
     *
     * @param string $s_message 日志信息
     * @param string $s_type    日志类型
     */
    public static function write($s_message, $s_type = 'log')
    {
        // 检查日志目录是否可写
         if ( !file_exists(LOG_PATH) ) {
            @mkdir(LOG_PATH);     
        }
         chmod(LOG_PATH,0777);
        if (!is_writable(LOG_PATH)) exit('LOG_PATH is not writeable !');
    	$s_now_time = date('[Y-m-d H:i:s]');
        $s_now_day  = date('Y_m_d');
        // 根据类型设置日志目标位置
        $s_target   = LOG_PATH;
        switch($s_type)
        {
            case 'debug':
                $s_target .= 'Out_' . $s_now_day . '.log';
                break;
            case 'error':
                $s_target .= 'Err_' . $s_now_day . '.log';
                break;
            case 'log':
                $s_target .= 'Log_' . $s_now_day . '.log';
                break;
            default:
                $s_target .= 'Log_' . $s_now_day . '.log';
                break;
        }
        
        //检测日志文件大小, 超过配置大小则重命名
        if (file_exists($s_target) && self::$i_log_size <= filesize($s_target)) {
            $s_file_name = substr(basename($s_target), 0, strrpos(basename($s_target), '.log')). '_' . time() . '.log';
            rename($s_target, dirname($s_target) . DS . $s_file_name);
        }
        clearstatcache();
        // 写日志, 返回成功与否
        return error_log("$s_now_time $s_message\n", 3, $s_target);
    }
}

使用日志类:
<?php
define('DS', DIRECTORY_SEPARATOR);                 // 设置目录分隔符
define('LOG_PATH',dirname(__FILE__).DS.'log'.DS); // 日志文件目录
require './Log.class.php';                        // 导入日志类文件
Log::set_size(1024*1024*10);                       // 设置单个文件大小
Log::write('Error: aaaa','log');                   // 写日志





分享到:
评论
1 楼 wenshu 2010-11-13  
不错,我自己用过KLogger也很不错,修改了一下,源码在这:里。http://www.liuzhongshu.com/code/single-file-php-stat.html

相关推荐

    简单的php日志类.zipzip

    介绍一个简单的php日志类,news目录为当前php文档根目录下子目录。 在生产环境中,日志是查找问题来源的重要依据。应用程序运行时的产生的各种信息,都应该通过日志类库来进行记录。

    一个能用很久的php日志类

    一个能用很久的php日志类,日志所能提供的功能是多种多样的,包括记录程序运行时产生的错误信息、状态信息、调试信息和执行时间信息等。

    一个能用很久的php日志类.zipzip

    介绍一个能用很久的php日志类,日志所能提供的功能是多种多样的,包括记录程序运行时产生的错误信息、状态信息、调试信息和执行时间信息等。需要的朋友可以下载参考,也可以发送更好的代码到我们的平台上来学习交流

    PHP 日志类

    自己写的一个日志类,将错误日志打印到txt文档中,便于开发过程中查看错误信息

    php日志操作类

    php实现日志处理类 功能: 1.自定义日志根目录及日志文件名称。 2.使用日期时间格式自定义日志目录。 3.自动创建不存在的日志目录。 4.记录不同分类的日志,例如信息日志,警告日志,错误日志。 5.可自定义日志配置...

    php 日志封装类

    php代码 ,一个简易的日志封装类,可以用作调试可简单日志记录

    php利用单例模式实现日志处理类库.zipzip

    对于现在的应用程序来说,日志的重要性是不言而喻的。很难想象没有任何日志记录功能的应用程序运行在生产环境中。日志所能提供的功能是多种多样的,包括记录程序运行时产生的错误信息、状态信息、调试信息和执行时间...

    eClog:一个PHP日志类-开源

    eClog是PHP日志类,提供了记录文件(默认),控制台,数据库,邮件,error_log和syslog的功能。 支持多个并行处理程序,并能够触发PHP错误。 关于stomp,mqseries和snmp处理程序的开发正在进行中。

    PHP日志系统plog(PHP).zip

    这是博客“无网不剩”的博主开发的一款日志系统。...plog是一款轻量级,易定制,易使用,易扩展的php日志系统。可以很方便地添加日志处理工具、自定义输出格式、自定义日志类型等等。” 标签:plog(PHP)

    类的封装--日志

    一个简单的日志封装类,简单易懂,很容易上手,几行代码,共分享

    L3092_精通VisualCWeb开发道\L3092_精通Visual C# 2005语言基础、数据库系统开发、Web开发道

    LogClass.php 日志类 LogManager.php 日志管理模块主菜单 LogView.php 显示日志模块 PublicMessageClass.php 公告类 PublicMessageManager.php 公告管理模块主菜单 PublicMessageAdd.php 添加公告...

    miniLog php log日志类

    简单快捷好用的php log日志类优点:少配置或零配置,支持任何格式数据记录,支持数G数据存储.支持在浏览或linux环境查看

    log4php日志记录操作类

    log4php日志操作类

    PHP传日志模块

    PHP制作的简单的完成日志上传的模块 包括传日志 日志列表 日志读取 删除日志

    php实现的debug-log日志操作类

    php实现的debug log日志操作类,结合实例形式分析了php针对日志的相关操作技巧,包括php数组、字符串及文件的写操作等用法

    SeasLog一个高效快速稳定的PHP日志扩展

    SeasLog 一个高效、快速、稳定的 PHP 日志扩展

    高效的日志扩展PHP库.zip

    事务日志文件Transaction Log File,扩展名为ldf,它是数据库结构中非常重要却又常被忽视的部分。它是用来记录数据库更新情况的文件,它可以记录针对数据库的任何操作,并将记录的结果保存到独立的文件中。对于每一...

    php实现的debug-log日志操作类.zipzip

    主要介绍了php实现的debug log日志操作类,结合实例形式分析了php针对日志的相关操作技巧,包括php数组、字符串及文件的写操作等用法,分享给大家供大家学习参考。

    mongodb driver 集成mongo和mongodb扩展 log.php 发送日志类

    mongodb driver 集成mongo和mongodb扩展 log.php 发送日志类

    php自动创建日志代码

    主要功能是记录操作人操作日志记录,并自动在创建目录,方便

Global site tag (gtag.js) - Google Analytics