php log日志管理,PHP日志LOG类定义与用法示例
本文实例讲述了PHP日志LOG类定义与用法。分享给大家供大家参考,具体如下:
/**
* PHP log 类
*/
class Config{
public static function getConfig (){
return array(
'LOG_FILE'=>'test.txt',
'LOG_LEVEL'=>75 //INFO
);
}
}
class Log{
private $LogFile;
private $logLevel;
const DEBUG = 100;
const INFO = 75;
const NOTICE = 50;
const WARNING =25;
const ERROR = 10;
const CRITICAL = 5;
private function __construct(){
$cfg = Config::getConfig();
$this->logLevel = isset($cfg['LOG_LEVEL']) ? $cfg['LOG_LEVEL']:LOG::INFO;
if(!isset($cfg['LOG_FILE']) && strlen($cfg['LOG_FILE'])){
throw new Exception('can\'t set file to empty');
}
$this->LogFile = @fopen($cfg['LOG_FILE'],'a+');
if(!is_resource($this->LogFile)){
throw new Exception('invalid file Stream');
}
}
public static function getInstance(){
static $obj;
if(!isset($obj)){
$obj = new Log();
}
return $obj;
}
public function LogMessage($msg, $logLevel = Log::INFO,$module = null){
if($logLevel > $this->logLevel){
return ;
}
date_default_timezone_set('Asia/shanghai');
$time = strftime('%x %X',time());
$msg = str_replace("\t",'',$msg);
$msg = str_replace("\n",'',$msg);
$strLogLevel = $this->levelToString($logLevel);
if(isset($module)){
$module = str_replace(array("\n","\t"),array("",""),$module);
}
$logLine = "$time\t$msg\t$strLogLevel\t$module\r\n";
fwrite($this->LogFile,$logLine);
}
public function levelToString($logLevel){
$ret = '[unknow]';
switch ($logLevel){
case LOG::DEBUG:
$ret = 'LOG::DEBUG';
break;
case LOG::INFO:
$ret = 'LOG::INFO';
break;
case LOG::NOTICE:
$ret = 'LOG::NOTICE';
break;
case LOG::WARNING:
$ret = 'LOG::WARNING';
break;
case LOG::ERROR:
$ret = 'LOG::ERROR';
break;
case LOG::CRITICAL:
$ret = 'LOG::CRITICAL';
break;
}
return $ret;
}
}
$logIns = LOG::getInstance();
//print_r($logIns);
$logIns->logMessage("test",LOG::INFO,'myTest');
?>
运行程序,在当前目录下生成test.txt文件内容如下(这里是运行3次的结果):
09/06/18 14:56:20 test LOG::INFO myTest
09/06/18 14:56:21 test LOG::INFO myTest
09/06/18 14:56:22 test LOG::INFO myTest
希望本文所述对大家PHP程序设计有所帮助。
php log日志管理,PHP日志LOG类定义与用法示例相关推荐
- php添加背景图及设置格式,PHP添加PNG图片背景透明水印操作类定义与用法示例
本文实例讲述了PHP添加PNG图片背景透明水印操作类定义与用法.分享给大家供大家参考,具体如下: 图片相关操作类 class ImageTool { private $imagePath;//图片路径 ...
- 日志管理-NLog日志框架简写用法
日志管理-NLog日志框架简写用法 本文转载:http://www.blogjava.net/qiyadeng/archive/2013/02/27/395799.html 在.net中也有非常多的日 ...
- Linux日志管理(日志配置、日志轮替)
Linux日志管理 对运维人员来说,无论管理什么系统,对日志文件的监控.调用.管理都是其中重要的一部分.服务器问题的解决都是从查看系统(错误)日志开始的.本篇文章,我们就来了解一下Linux系统中 ...
- phppage类封装分页功能_PHP封装的page分页类定义与用法完整示例
本文实例讲述了PHP封装的page分页类定义与用法.分享给大家供大家参考,具体如下: 亲测有效,见下图=========> 1. 测试实例test.php header("Conten ...
- 【Linux】日志管理及日志轮询
文章目录 日志管理的意义 常用的日志文件: last 查看登录日志内容 清空日志文件 2. /var/log/lastlog 查看最后登录信息 3. /var/log/btmp 用户登录系统的错误信息 ...
- linux日志服务是哪个,『学了就忘』Linux日志管理 — 2.日志服务rsyslogd
1.日志文件格式 只要是由日志服务rsyslogd记录的日志文件,他们的格式是一样的. 基本日志格式包含以下内容: 事件产生的时间. 发生事件的服务器的主机名. 产生事件的服务名或程序名. 事件的具体 ...
- 使用java自带的日志管理_java日志管理
1.相关概念 日志统一框架(日志门面):apache commons logging.slf4j 日志实现框架(实现层):JDK自带的logging(java.util.logging).log4j. ...
- Apache的配置与应用【Apache访问控制】以及apache日志管理【日志分割、awstats日志分析】
Apache的配置与应用以及日志管理 文章目录 Apache的配置与应用以及日志管理 一.Apache连接和访问控制 1.Apache连接 [1]KeepAlive [2]KeepAlive Time ...
- Linux系统中的日志管理 ---systemd-journald日志(journalctl命令的用法)和 rsyslog 日志(自定义日志采集路径、更改日志采集格式和日志的远程同步)
一.实验环境 Horizon_carry: 172.25.254.10 carry: 172.25.254.20 Horizon_carry & carry: systemctl stop f ...
最新文章
- 搜索打表大找规律 (hdu2045)
- matlab练习程序(LMS)
- QT显式调用VC开发的DLL
- ASP.NET中实现Flash与.NET的紧密集成(转,没看,有空研究一下)
- Lawn of the Dead
- android改变下拉框字体颜色,有没有简单的方法来改变Android中的Spinner下拉颜色?...
- python保存变量_Python变量存储
- php与tp5,PHP开发(33)-ThinkPHP5.0(5)命名空间与TP5-PhpStorm
- P1950 长方形_NOI导刊2009提高(2)[单调栈][贡献法]
- swing Ctrl+S 保存配置
- 使用Go构建区块链 第3部分:持久化和cli
- antv g2字体阴影_antv/G2 v4使用遇坑之旅
- 数据库SQL(基础代码)
- GIS-坐标系-EPSG(二次整理)
- 树莓派3b+安装home assistant
- ICCV、ECCV、CVPR三大国际会议
- 一种基于蜂窝信令数据的数据驱动型OD矩阵构建的方法:以里昂地区(法国)作为研究...
- 轩小陌的Python笔记-day08 模块一总结
- CAN接口电路的 EMC设计方案(工业)
- ACM斗牛游戏算法JAVA实现
热门文章
- PyTorch学习笔记(三):PyTorch主要组成模块
- 大数据质量管理策略有哪些
- 企业大数据营销需要什么思路
- java学习(三)内部类
- 《python自动化》学习笔记:正则表达式基础知识
- C语言字符串类型转换为整型,c语言中将一个字符串转换到整型数据类型的函数是什么?...
- 永恒python怎么用_毫无基础的人如何入门 Python ?Python入门教程拿走不谢啦!
- 石子合并简化版(区间DP)
- c语言代码题及答案,c语言编程题精选及答案
- 机器人水库涵洞检测_管渠清淤机器人、管道浑水探测机器人……想不到吧?哈排水集团竟然是“科研达人”...