正文
php打印数据到日志 php打印日历
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
php monolog 怎么把请求的url,ip,参数这些记录到日志中
Monolog是php下比较全又容易扩展的记录日志组件。目前有包括Symfony 、Laravel、 CakePHP等诸多知名php框架都内置了Monolog。
Monolog可以把你的日志发送到文件,sockets,收件箱,数据库和各种web服务器上。一些特殊的组件可以给你带来特殊的日志策略。
使用例子
1 2 3 4 5 6 7 8 9 10 11 12?php use Monolog/Logger; use Monolog/Handler/StreamHandler; // create a log channel $log = new Logger('name'); $log-pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING)); // add records to the log $log-addWarning('Foo'); $log-addError('Bar');核心概念
每个Logger实例都有一个通道和日志处理器栈。每当你添加一条日志记录,它会被发送到日志处理器栈。 你可以创建很多Logger,每个Logger定义一个通道(db,请求,路由),每个Logger有很多日志处理器。这些通道会过滤日志。
每个日志处理器都有一个Formatter(内置的日志显示格式处理器)。你还可以设定日志级别。
日志级别
DEBUG:详细的debug信息
INFO:感兴趣的事件。像用户登录,SQL日志
NOTICE:正常但有重大意义的事件。
WARNING:发生异常,使用了已经过时的API。
ERROR:运行时发生了错误,错误需要记录下来并监视,但错误不需要立即处理。
CRITICAL:关键错误,像应用中的组件不可用。
ALETR:需要立即采取措施的错误,像整个网站挂掉了,数据库不可用。这个时候触发器会通过SMS通知你,
怎么让php打印错误日志?
(1)使用echo ,简单输出
(2)使用print_r(),可以有规则的打印复杂结构
(3)var_dump递归输出某种结构体
(4)print(),简单打印
可以将你要输出的错误内容放到上述语句或函数内进行打印输出;也可以写入某个文件,作为你的Log日志:file_put_contents('/test1.txt',$value['value'],FILE_APPEND)等这类文件函数
以上是我自己工作中总结的PHP调试方法,挺好用的。
php能不能像java那样打印错误堆栈信息到错误日志
PHP 确实不会输出错误堆栈,但通过函数,还是能够获取到错误堆栈的。
function getBacktrace() {
ob_start();
debug_print_backtrace();
return ob_get_clean();
}
调用上面这个函数取得错误堆栈,再用 file_put_contents('log_path', FILE_APPEND); 写入日志文件即可。
还有一个办法:为 PHP 安装 xdebug 扩展
windows 下的安装方法 安装好后,修改 php.ini
php该在哪里写日志?怎么写日志?日志是做什么用的?
所谓php打印数据到日志的日志就是记录系统运行状态php打印数据到日志的数据。
一般是将信息记录到文本文件或数据库中。
比如php打印数据到日志:
?php
function writeLog($msg){
$logFile = date('Y-m-d').'.txt';
$msg = date('Y-m-d H:i:s').' '.$msg."\r\n";
file_put_contents($logFile,$msg,FILE_APPEND );
}
//调用上面php打印数据到日志的函数php打印数据到日志,写一条信息进日志文件
writeLog('这是测试日志信息');
?
php 数据库操作日志记录
//先创建一个log表,有id, action, username, query, time 等字段,如果需要记录更多,可添加
$query_string = $_SERVER['QUERY_STRING'];//查询(query)的字符串,这个最好处理一下
$action = $_REQUEST['action'];//操作类型,可以自己定义。比如?action=addid=xx
//$username就是当前操作人的名字了,登录后都有的吧
if(in_array($action, array('add', 'edit','delete','update')))
{
addlog($action,$username,$query_string);
}
function addlog($action,$username,$query_string)
{
//这里可以把时间和$query_string处理一下,插入数据库
$db-query($sql);
}
大致思路就是这样的了,细节还需你自己完善
php打印数据到日志的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php打印日历、php打印数据到日志的信息别忘了在本站进行查找喔。