<?php if(!defined("DIR_ROOT")){ define("DIR_ROOT", dirname(dirname(__FILE__))); } define('LEVEL_FATAL', 0); define('LEVEL_ERROR', 1); define('LEVEL_WARN', 2); define('LEVEL_INFO', 3); define('LEVEL_DEBUG', 4); /** * 记录操作过程中的日志信息 * @version 1.0 20140725 */ class Logger { static $LOG_LEVEL_NAMES = array( 'FATAL', 'ERROR', 'WARN', 'INFO', 'DEBUG' ); private $level = LEVEL_DEBUG; private $rootDir = DIR_ROOT; static function getInstance() { return new Logger; } /** * 设置最小的log记录级别,小于该级别的log日志输出将被忽略掉 * @param int $lvl -- 最小的log日志输出级别 * @throws Exception */ function setLogLevel($lvl) { if($lvl >= count(Logger::$LOG_LEVEL_NAMES) || $lvl < 0) { throw new Exception('invalid log level:' . $lvl); } $this->level = $lvl; } //###################输出各个级别的日志信息---start============== function debug($message, $name = 'root') { $this->_log(LEVEL_DEBUG, $message, $name); } function info($message, $name = 'root') { $this->_log(LEVEL_INFO, $message, $name); } function warn($message, $name = 'root') { $this->_log(LEVEL_WARN, $message, $name); } function error($message, $name = 'root') { $this->_log(LEVEL_ERROR, $message, $name); } function fatal($message, $name = 'root') { $this->_log(LEVEL_FATAL, $message, $name); } //###################输出各个级别的日志信息---end============== /** * 记录log日志信息 * @param unknown_type $level * @param unknown_type $message * @param unknown_type $name */ private function _log($level, $message, $name) { if($level > $this->level) { return; } $log_file_path = $this->rootDir."/logs/".$name.'.log'; $log_level_name = Logger::$LOG_LEVEL_NAMES[$this->level]; $content = date('Y-m-d H:i:s') . ' [' . $log_level_name . '] ' . $message . "\n"; file_put_contents($log_file_path, $content, FILE_APPEND); } } // //$logger = Logger::getInstance(); //$logger->debug('this is my first log', 'test');
相关推荐
总的来说,log4php为PHP开发者提供了强大而灵活的日志记录工具,通过合理的配置和使用,可以帮助我们更好地管理和理解应用程序的运行情况。通过深入研究和实践,我们可以充分利用log4php的功能,提升开发效率和问题...
在这款工具中,"工具类"是核心部分,它包含了处理日志记录的各种函数和方法。这些方法通常包括初始化日志系统、记录接口请求和响应信息、错误处理以及日志格式化等功能。开发者可以通过调用这些方法,在API执行过程...
在PHP开发中,上传视频、图片以及文件是常见的需求,特别是在...记得在生产环境中,安全永远是首要考虑的因素,例如要防止文件注入攻击,限制上传文件的大小和类型,以及做好日志记录,以便追踪和解决可能出现的问题。
本资源“php的其他工具类.zip”包含了多个实用的工具类,涵盖了系统负载监控、日志记录、内存管理以及浏览器变量输出等多个方面。下面,我们将详细探讨这些知识点。 1. **系统负载监控**: 在服务器环境中,了解...
实际项目中,可以将这个日志操作类作为一个工具类,方便在整个项目中统一管理和记录日志。 总的来说,这个PHP实现的debug-log日志操作类为开发者提供了一个灵活且强大的日志解决方案,能够帮助他们更好地管理和分析...
总的来说,这个PHP实现的debug-log日志操作类是PHP开发中一个实用的工具,它使得日志记录更加规范、高效,有助于提升代码的可维护性和故障排查能力。无论是小型项目还是大型应用,这样的类库都能为开发者带来便利。...
**PHP小百科——轻量级的日志记录与知识管理** PHP是一种广泛使用的开源脚本语言,尤其在Web开发领域有着深厚的根基。在这个“PHP的小百科”项目中,它被巧妙地利用来创建一个无需数据库支持的轻量级知识库或日志...
迷你PHP日志类(miniLog)是一款专门为PHP开发者设计的日志记录工具,旨在提供一个简单、快速且易于使用的日志解决方案。它具有以下显著特点: 1. **配置简便**:miniLog强调“少配置或零配置”,这意味着在大多数...
5. **日志记录**:为了便于调试和监控,工具箱可能提供日志记录功能,使用error_log、file_put_contents或者自定义的日志类。 6. **前端界面**:虽然描述中提到前端界面未做美化,但通常工具箱会提供基础的HTML、...
你可以设定日志文件的路径,启用或禁用日志记录,以及设置默认的日志级别。例如: ```php $config['log_path'] = APPPATH . 'logs/'; $config['log_file_extension'] = 'php'; $config['log_file_permissions'] = ...
以上只是PHP常用类的一部分,实际的“PHP常用类集合”可能还包括其他如模板引擎、加密解密、模板引擎、日志记录、会话管理等类别。这个集合为开发者提供了一个方便的工具箱,可以快速找到解决特定问题的代码片段,...
这个“PHP实例开发源码—PhpLog 程序调试追踪功能实现源码.zip”文件提供了关于如何在PHP项目中实现自定义日志记录功能的示例代码。下面我们将详细探讨这一主题。 首先,`PhpLog` 是一个自定义的日志记录类,通常...
- **格式化输出**:可以自定义日志输出的格式,包括时间戳、级别、消息等内容。 - **日志处理器**:支持多种日志处理器,如写入文件、发送邮件、推送至远程服务器等,可根据项目需求选择合适的方式。 - **性能优化**...
8. **工具集**:自定义架构通常会包含一系列实用工具类或函数,如字符串处理、日期时间操作、数组操作等,以简化常见的编程任务。 9. **配置管理**:配置管理允许开发者根据环境(如开发、测试、生产)调整应用设置...
总的来说,"天翼开放平台自定义短信验证码封装类"是一个强大的工具,它结合了天翼开放平台的短信服务和PHP的面向对象编程思想,为开发者提供了一站式的解决方案,使得短信验证功能的集成变得更加便捷和安全。
【标题】"基于PHP的阿西php多用户日志系统"是一个专为PHP环境设计的日志管理系统,旨在帮助开发者和运维人员实现对多个用户账户的日志记录和管理。该系统可能包含用户登录、权限控制、日志查看、日志搜索等功能,...
该框架的核心思想是创建一个自定义的异常处理器类,它继承自PHP的`Exception`类或`Throwable`接口,从而可以覆盖默认的异常处理流程。当异常发生时,这个处理器将接手并执行特定的操作,例如记录错误日志、发送错误...
除了捕获异常、返回错误信息外,还可能通过日志记录、返回特定的错误码等方式来增强工具类的健壮性和易用性。 9. 使用技巧: 封装类的设计往往会考虑易用性和灵活性,例如提供灵活的配置参数、统一的错误处理机制、...
此外,可能引入了自定义日志格式或者支持JSON格式的日志,便于后续的数据分析。 3. **接口兼容性**:为了保持与旧版本的兼容性,LOGA日志系统在升级时会确保核心API的稳定,同时可能添加新的API以满足新的需求,...
- 例如权限验证、日志记录等功能。 3. **单元测试(Unit Testing)** - 使用PHPUnit等工具编写测试用例。 - 测试模型、控制器等各个组件的功能正确性。 4. **性能优化** - 缓存机制:使用文件缓存、Memcached等...