p(date). 2010-12-06

日志是一个应用程序的重要组成部分,今天在看pylons对日志的处理时,受到启发,于是plog就诞生了。

很多php框架都忽略了日志的重要性(如kohana),往往只是能用,自定义和可扩展性不够,等到程序出了问题,再想找原因时就比较麻烦了。

plog简介

plog是一款轻量级,易定制,易使用,易扩展的php日志系统。可以很方便地添加日志处理工具、自定义输出格式、自定义日志类型等等。

plog使用

使用plog很简单,在每个要加日志的文件里,输入以下代码

// 载入plog类require '../../plog/classes/plog.php';

// 设置config,config文件位置可以自定义// 对于单入口文件,这两段代码可以放在入口文件处Plog::set_config(include 'path/to/config.php');

// 把下面这段代码放到对应的文件里$log = Plog::factory(__FILE__);

// 使用$log->'this is debug message');

$log->info('this is info message');

plog的配置

plog的配置很灵活,下面是个demo config

return array(

// 设置日志的类型,如有些是系统日志,有些是应用日志'loggers' => array(

// base是个特殊变量,会自动添加到其他配置的前面'base' => dirname(dirname(__FILE__)).DIRECTORY_SEPARATOR.'demo'.DIRECTORY_SEPARATOR,

'system' => 'system', // key为日志类型,value为文件夹路径,base路径会被自动添加'app' => 'app' // 同上),

// 日志的等级'levels' => array('DEBUG', 'INFO', 'ERROR', 'WARN', 'FATAL'),

// 日志处理工具,可以添加多个,设置enabled为true表示已启用'handlers' => array(

'file' => array(

// 处理引擎'driver' => 'file',

// 记录哪种类型的日志'level' => array('DEBUG'),

// 日志格式,可以在formatters处添加'formatter' => 'generic',

// 是否启用该引擎'enabled' => true,

// 针对该handler的特处配置'config' => array(

'dir' => dirname(dirname(__FILE__)).'/demo/var/log',

),

),

),

// 日志格式'formatters' => array(

'generic' => '{time} {level} [{logger}] {uri} """{message}"""',

),

);

几点说明

levels项,每一个值都是一个方法,不过是小写的,如$log->debug(‘message’)。如果某个方法不在这些levels里会触发异常。

日志格式的可选变量在plog/formatter.php里,每一个get开头的方法就是,如果觉得不够用,可以自己添加。

日志内容

日志内容取决于日志格式,下面是demo

2010/12/07 16:00:26 DEBUG [app.test] /projects/os/plog/demo/app/test.php?id=1 """hello world"""

2010/12/07 16:00:26 INFO [app.test] /projects/os/plog/demo/app/test.php?id=1 """今晚打老虎"""

2010/12/07 16:01:17 DEBUG [system.core] /projects/os/plog/demo/system/core.php?_profiler=1 """heal the world"""

2010/12/07 16:37:29 DEBUG [system.core] /projects/os/plog/demo/system/core.php?_profiler=1 """heal the world"""

下载

程序员灯塔

转载请注明原文链接:写了一款php日志系统——plog

php plog,写了一款php日志系统——plog相关推荐

  1. 使用Excel打造一款个人日志系统

    写在前面 我很多年前看过晨间日志的奇迹这一本书,我深受启发,这本书的中心思想就是通过九宫格的方式写连体日志,自己可以方便查找而有而且有激情去完成这个日志,书中推荐的方法是使用excel写日志.但是自己 ...

  2. PHP日志系统 plog(PHP)

    文本转载自:php问题解决处理--一个IT实时问答系统--快速解决你的任何IT问题,无需等待!---www.itbaiduwang.com plog(PHP) 详细介绍 它也叫plog,也是日志系统, ...

  3. cx_oracle写日志信息_日志系统的设计

    笔者在写作本章节的时候,并不敢把此章节的标题叫做<高性能日志系统的设计>,之所以不敢加上"高性能"三个字的原因是: 第一,我对于日志系统设计知识和经验都来自于学习和工作 ...

  4. linux日志系统的实现,一个同步日志系统的简单实现 log for c (linux 平台)

    在一个项目中需要使用日志记录,网上也有很多开源代码,自己也尝试着写了一个!异步日志系统正在进行中. //mylog.h 头文件 #ifndef _MYLOG_HEADER_ #define _MYLO ...

  5. 三款“非主流”日志查询分析产品初探

    前言 近些年在开源领域,用于构建日志系统的软件有两类典型: Elasticsearch:基于 Lucene 构建倒排索引提供搜索功能,DocValue 存储支持了其统计分析能力. Clickhouse ...

  6. 给微软的日志框架写一个基于委托的日志提供者

    动手造轮子:给微软的日志框架写一个基于委托的日志提供者 Intro 微软的日志框架现在已经比较通用,有时候我们不想使用外部的日志提供者,但又希望提供一个比较简单的委托就可以实现日志记录,于是就有了后面 ...

  7. mysql查看日志命令_面对成百上千台服务器产生的日志,试试这款轻量级日志搬运神器!

    之前我们搭建的ELK日志收集系统,主要是用来收集SpringBoot应用的日志.其原理是应用通过Logstash插件,使用TCP向Logstash传输日志,从而存储到Elasticsearch中去.但 ...

  8. mysql查看日志命令_面对成百上千台服务器产生的日志,试试这款轻量级日志搬运神器!...

    Filebeat简介 Filebeat是一款轻量级日志采集器,可用于转发和汇总日志与文件.Filebeat内置有多种模块(Nginx.MySQL.Redis.Elasticsearch.Logstas ...

  9. 最新面试必问:怎么写一个又好又快的日志库

    引子 上一篇使用责任链模式搭了一个高可扩展的日志框架,并引入高性能的I/O库以提升写日志性能. 在这个框架下,"日志写文件"作为一个拦截器出现: // 日志拦截器class Oki ...

最新文章

  1. html表格显示选择的颜色,jquery实现效果比较好的table选中行颜色
  2. mysql和php的登录注册界面_php实现注册和登录界面的方法
  3. LayoutInflater中调用系统服务
  4. 高等数学-傅里叶级数与傅里叶变换
  5. 高安全性同态加密算法_坏的同态性教程
  6. MATLAB飞机大战第二版,windows程序设计——飞机大战札记(单文档文件登陆界面)...
  7. 中英文对照 —— 机械
  8. 第四十一期:一道经典的MySQL面试题,答案出现三次反转
  9. mysql 触发器 库存管理_Mysql中的触发器(库存、用户订单中用到)
  10. 计算机网络中使用最广泛的交换技术是什么,04741计算机网络原理试题及答案201604...
  11. java版b2b2c社交电商spring cloud分布式微服务-服务提供与调用
  12. JSP自定义标签开发步骤
  13. Android -- proxy
  14. 关于Win7 x64下过TP保护(应用层)
  15. 蓝牙耳机测试软件apk_Bose Connect(蓝牙耳机控制器)
  16. C/C++编程学习 - 第16周 ④ 计算分数加减表达式的值
  17. excel合并两列内容_办公教程:Excel如何快速将两列内容合并成一列
  18. win10任务栏假死原因和解决方法
  19. 9大开源云管理平台(CMP)
  20. ADAM : A METHOD FOR STOCHASTIC OPTIMIZATION

热门文章

  1. 微信第三方开发者答网友问 微信创业靠谱吗
  2. 深情留不住,套路得人心- -聊聊套路那些事儿
  3. python绘制时间轴_python – matplotlib图中的链接时间轴(x轴)
  4. 小狗电器发布新品卧吸S9 AWE演绎碾压级最强吸力
  5. 《机器人爱好者(第2辑)》——Robot Hut博物馆
  6. 仿抖音截取音频时长的控件
  7. 你谈谈计算机图形学未来发展,计算机图形学
  8. 外文文献翻译工具,怎么样又快又精准?
  9. 京东无线服务端架构演进历程
  10. 【历史上的今天】3 月 30 日:世界上最早的表情符号;IBM z/OS 问世;微软发布 HoloLens 开发版