php log类
个人抽离出来一个超级简易但是实用的代码段
public static function WriteLog($msg,$module = null,$logLevel = "DEBUG")
{
$filepath = $_SESSION["APP_ROOT"]."/log/";
if(!is_dir($filepath)) mkdir($filepath,'0777');
$MyLogFile = @fopen($filepath.date("Y-m-d").".txt",'a+'); $time = date("Y-m-d H:i:s");
if(isset($module)){$module = sprintf("\r\n归属模块:".$module."\r\n");}
$logLine = "\r\n------------------------------- $time -------------------------------\r\n";
$logLine .= $module;
$logLine .= "\r\n异常信息:$msg\r\n";
$logLine .= "\r\n错误等级:$logLevel\r\n";
fwrite($MyLogFile,$logLine);
}
网上拿下来的:
<?php ini_set('date.timezone','Asia/Shanghai'); /**
* PHP log 类
*/ class mylog
{ 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()
{
$this->logLevel = 100;
$filepath = $_SESSION["APP_ROOT"]."/log/";
$filename = date("Y-m-d").".txt";
if(!is_dir($filepath)) mkdir($filepath,'0777');
$this->LogFile = @fopen($filepath.$filename,'a+');
} public static function getInstance()
{
static $obj;
if(!isset($obj)){
$obj = new mylog();
}
return $obj;
} public static function WriteLog($msg,$module = null,$logLevel = "DEBUG")
{
$filepath = $_SESSION["APP_ROOT"]."/log/";
if(!is_dir($filepath)) mkdir($filepath,'0777');
$MyLogFile = @fopen($filepath.date("Y-m-d").".txt",'a+'); $time = date("Y-m-d H:i:s");
if(isset($module)){$module = sprintf("\r\n归属模块:".$module."\r\n");}
$logLine = "\r\n------------------------------- $time -------------------------------\r\n";
$logLine .= $module;
$logLine .= "\r\n异常信息:$msg\r\n";
$logLine .= "\r\n错误等级:$logLevel\r\n";
fwrite($MyLogFile,$logLine);
} public function LogMessage($msg,$module = null,$logLevel = mylog::DEBUG)
{
$time = date("Y-m-d H:i:s");
$strLogLevel = $this->levelToString($logLevel);
if(isset($module)){$module = sprintf("\r\n归属模块:".$module."\r\n");}
$logLine = "\r\n------------------------------- $time -------------------------------\r\n";
$logLine .= $module;
$logLine .= "\r\n错误信息:$msg\r\n";
$logLine .= "\r\n错误等级:$strLogLevel\r\n";
fwrite($this->LogFile,$logLine);
} public function levelToString($logLevel)
{
$ret = '[unknow]';
switch ($logLevel){
case mylog::DEBUG:
$ret = 'DEBUG';
break;
case mylog::INFO:
$ret = 'INFO';
break;
case mylog::NOTICE:
$ret = 'NOTICE';
break;
case mylog::WARNING:
$ret = 'WARNING';
break;
case mylog::ERROR:
$ret = 'ERROR';
break;
case mylog::CRITICAL:
$ret = 'CRITICAL';
break;
}
return $ret;
}
}
?> <?php
// include $_SESSION["APP_ROOT"].'/Lib/Class/Log.class.php';
// $logIns = LOG::getInstance();
// $logIns->LogMessage("测试一下");
//或者
// mylog::WriteLog("可以了");
?>
php log类的更多相关文章
- VC++ 一个简单的Log类
在软件开发中,为程序建立Log日志是很必要的,它可以记录程序运行的状态以及出错信息,方便维护和调试. 下面实现了一个简单的Log类,使用非常简单,仅供参考. // CLogHelper.h : hea ...
- android中Log类的封装
1.为了方便的使用Log打印日志,以及后续方便撤销日志打印,所以对Log类进行封装是一件好事. package market.phone; import android.util.Log; /** * ...
- Timber(对Log类封装的一个工具)
Timber(对Log类封装的一个工具) https://blog.csdn.net/hzl9966/article/details/51314137 https://www.jianshu.com/ ...
- Android Log类基本用法
Log类介绍: API for sending log output.Generally, use the Log.v() Log.d() Log.i() Log.w() and Log.e() me ...
- python+selenium之自定义封装一个简单的Log类
python+selenium之自定义封装一个简单的Log类 一. 问题分析: 我们需要封装一个简单的日志类,主要有以下内容: 1. 生成的日志文件格式是 年月日时分秒.log 2. 生成的xxx.l ...
- Python+Selenium中级篇之8-Python自定义封装一个简单的Log类《转载》
Python+Selenium中级篇之8-Python自定义封装一个简单的Log类: https://blog.csdn.net/u011541946/article/details/70198676
- Android学习笔记Log类输出日志信息
Log类提供的方法 代码示例 .. Log.e(TAG,"[错误信息]"); Log.w(TAG,"[警告信息]"); Log.i(TAG,"[普通信 ...
- C++记录debug信息的log类
取自:http://www.viksoe.dk/code/all_mfc.htm,里面有各种MFC常用的类 // LogFile.h: interface for the CLogFile class ...
- .net 创建属于自己的log类
实习到现在已经接近三个月了,由于是校企联合培养计划,所以没有工资,所幸公司对于我们这些实习生并没有什么要求,刚开始我还觉得要做点什么才能学得快,可是到了后来,发现公司安排给我们的任务并不紧要,也不算太 ...
随机推荐
- Android -- ImageLoader本地缓存
传送门 <Android -- ImageLoader简析> http://www.cnblogs.com/yydcdut/p/4008097.html 本地缓存 在缓存文件时对文件名称 ...
- 顺序查找 && 折半查找
顺序查找 算法描述 顺序比较即可. 平均查找长度 (n+1)/2, 其中n为表长 ...
- Drupal 通过API动态的加入样式文件
前面几篇文章中讲到关于样式的载入方式.已经了解到能够通过 theme.info 载入样式文件,但都须要更新缓存才干够使用.因些这样子没有办法动态的载入一些样式文件,在DP中提供了两个API操作样式文件 ...
- 微信小程序 - 各种示例
示例更新(后续持续更新): 最后一次更新:2018-11-7 小程序-地图显示(调用高德地图.腾讯App) - (2018-11-1) 小程序-上传图片(上传.预览.展示.删除) - (2018-11 ...
- 微信小程序 - 实现购物车结算
示例源码下载:小程序-实现购物车结算
- npm之使用淘宝源
暂时使用: npm --registry https://registry.npm.taobao.org i express 永久使用: npm conf set registry https://r ...
- OpenCV图像处理篇之阈值操作函数
阈值操作类型 这5种阈值操作类型保留opencv tutorials中的英文名称.依次为: Threshold Binary:即二值化,将大于阈值的灰度值设为最大灰度值.小于阈值的值设为0. Thre ...
- WebStorm配置
一.主题配色 主题设置方法:File -> Settings -> Appearance & Behavior -> Appearance ->Theme. webst ...
- 笔试题之j2ee
j2ee部分 1.BS与CS的联系与区别. C/S是Client/Server的缩写.服务器通常采用高性能的PC.工作站或小型机,并采用大型数据库系统,如Oracle.Sybase.InFORMix或 ...
- gdb 读取elf
在make file中找到ld,然后将其换成 gdb, 如本例中LINKER = /usr/cygnus/xscale-020523/H-sparc-sun-solaris2.5/bin/xscale ...