php日志,记录日志

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 开发中有些重要操作时,记录数据库日志同时又要记录文件日志,而且日志不能和站点的其他日志混在一起,所以写了这么个东东/**日志 * Created by JetBrains PhpStorm. * User: feng * Date: 13-7-25 * Time: 下午3:15 * To change this template use File | Settings | Fil
开发中有些重要操作时,记录数据库日志同时又要记录文件日志,而且日志不能和站点的其他日志混在一起,所以写了这么个东东
/**日志
 * Created by JetBrains PhpStorm.
 * User: feng
 * Date: 13-7-25
 * Time: 下午3:15
 * To change this template use File | Settings | File Templates.
 */
class Log {
    /**写入日志
     * @param $model 模块名称,目录名,允许字母/数字/下划线/减号
     * @param $msg  日志内容,可以为数组
     * @param string $suffix    后缀名称,可以为空,允许字母/数字/下划线/减号/英文句号
     * @param string $prefix    前缀名称,可以为空,允许字母/数字/下划线/减号/英文句号
     * @return bool
     */
    public static function Write($model,$msg,$suffix='',$prefix=''){
        if(empty($msg)){
            return false;
        }
        if(is_array($msg)){
            $msg=var_export($msg,true);
        }
        $msg="\n[time]".date('Y:m:d H:i:s').' '.$msg;
        //模块文件夹格式化,允许字母/数字/下划线/减号
        $model=preg_replace ("/[^\w-]/i",  "$1",  $model);
        $model=empty($model)?'none':$model;
        //文件存储地址
        $file=WEBROOT.APPPATH.'logs/'.$model.'/';
        if(!is_dir($file)){
            mkdir($file,0777);
        }
        $file.=date('Y/');
        if(!is_dir($file)){
            mkdir($file,0777);
        }
        $prefix=preg_replace ("/[^\w-\.]/i",  "$1",  $prefix);
        $suffix=preg_replace ("/[^\w-\.]/i",  "$1",  $suffix);
        $file.=$prefix.date('m-d-').$suffix.'.log';
        error_log($msg,3,$file);
        return true;
    }
}

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
1月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
35 2
|
1月前
|
缓存 监控 算法
分析慢日志文件来优化 PHP 脚本的性能
分析慢日志文件来优化 PHP 脚本的性能
|
4月前
|
存储 运维 Java
Spring运维之boot项目开发关键之日志操作以及用文件记录日志
Spring运维之boot项目开发关键之日志操作以及用文件记录日志
56 2
|
4月前
|
监控 PHP 开发者
PHP中的异常处理与错误日志记录
【6月更文挑战第9天】本文深入探讨了PHP编程语言中异常处理的机制和错误日志记录的策略。我们将通过具体实例来展示如何有效地捕获和处理运行时错误,以及如何利用PHP的错误日志功能来监控和维护代码的健康状态。
43 0
|
5月前
|
Prometheus 监控 Kubernetes
Kubernetes 集群的监控与日志管理实践深入理解PHP的命名空间与自动加载机制
【5月更文挑战第30天】 在容器化和微服务架构日益普及的背景下,Kubernetes 已成为众多企业的首选容器编排工具。然而,随之而来的挑战是集群的监控与日志管理。本文将深入探讨 Kubernetes 集群监控的最佳实践,包括节点资源使用情况、Pods 健康状态以及网络流量分析等关键指标的监控方法。同时,我们也将讨论日志聚合、存储和查询策略,以确保快速定位问题并优化系统性能。文中将介绍常用的开源工具如 Prometheus 和 Fluentd,并分享如何结合这些工具构建高效、可靠的监控和日志管理系统。
|
5月前
|
PHP
php事务删除加调用日志函数
php事务删除加调用日志函数
26 1
|
5月前
|
存储 监控 关系型数据库
PHP编写的电脑监控软件:用户登录日志记录与分析
使用PHP编写简单但功能强大的电脑监控软件,记录用户登录日志并进行分析。代码示例展示了如何获取并存储用户IP地址和登录时间到数据库,然后进行登录数据的分析,如计算登录频率和常见登录时间。此外,还介绍了如何通过定时任务自动将监控数据提交到网站,以便实时监控用户活动,提升系统安全性和稳定性。
147 0
|
12天前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
87 3
|
13天前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1576 12