您的位置:

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 );

}

//调用上面的函数,写一条信息进日志文件

writeLog('这是测试日志信息');

?

如何开启PHP日志功能?

在php编程中,对于一些访问没有明显错误提示的php页面,可以通过error_log来做进一步的判定。

但出于种种原因,有些服务器并没有开启PHP的error_log功能。

测试或其它需要时,可以打开一下,方法如下。

编辑php.ini,将log_errors设置为on:

log_errors = On

然后,重启apache即可。

如成功开启,就可以跟踪到对应的错误提示:

[Mon Sep 24 16:57:01 2012] [error] [client 218.5.80.210] PHP Warning: fsockopen() has been disabled for security reasons in /home/bccgi-bin/fsockopen.php on line 2

[Mon Sep 24 16:57:02 2012] [error] [client 218.5.80.210] PHP Warning: fsockopen() has been disabled for security reasons in /home/bccgi-bin/fsockopen.php on line 2

[Mon Sep 24 16:57:03 2012] [error] [client 218.5.80.210] PHP Warning: fsockopen() has been disabled for security reasons in /home/bccgi-bin/fsockopen.php on line 2

[Mon Sep 24 16:57:04 2012] [error] [client 218.5.80.210] PHP Warning: fsockopen() has been disabled for security reasons in /home/bccgi-bin/fsockopen.php on line

另外,注意在Windows环境下,除了将log_errors设置为on外,还需要定义error_log的路径及文件名:

error_log = d:/temp/error.log

(此目录需要授予php标识用户的修改权限,否则日志文件无法生成)

IIS没有error_log的概念,所以需要另外定义。

thinkphp日志记录文件被存在了什么地方

日志记录\ThinkPHP\Lib\Think\Core\Log.class.php

1、可以在config.php中进行设置,默认为关闭状态。 'APP_DEBUG' = true

打开\ThinkPHP\Common\debug.php文件可以查看debug的默认设置如下:

return array(

'LOG_RECORD'=true, // 进行日志记录

'LOG_RECORD_LEVEL' = array('EMERG','ALERT','CRIT','ERR','WARN','NOTIC','INFO','DEBUG','SQL'), // 允许记录的日志级别

'DB_FIELDS_CACHE'= false, //数据库字段缓存

'SHOW_RUN_TIME'=true, // 运行时间显示

'SHOW_ADV_TIME'=true, // 显示详细的运行时间

'SHOW_DB_TIMES'=true, // 显示数据库查询和写入次数

'SHOW_CACHE_TIMES'=true, // 显示缓存操作次数

'SHOW_USE_MEM'=true, // 显示内存开销

'SHOW_PAGE_TRACE'=true, // 显示页面Trace信息 由Trace文件定义和Action操作赋值

'APP_FILE_CASE' = true, // 是否检查文件的大小写 对Windows平台有效

);

注意事项:DB_FIELDS_CACHE数据库字段缓存默认关闭状态,如果开启的话,会在Runtime\Data文件夹下生成文件缓存,并且修改表之后,如新加了字段,这个缓存无法记录你的操作,需要我们手动删除一次,对表的修改才会成功。

将'APP_DEBUG' = true后,访问页面会出现如下图的DEBUG提示:

如果只想显示一部分提示信息,如运行时间,内存开销等,

可以在config.php中进行相应的设置即可,如:

//'APP_DEBUG' = true, // 调试模式开关

'SHOW_RUN_TIME' = true, //运行时间显示

'SHOW_ADV_TIME' = true, //显示详细的运行时间

'SHOW_DB_TIMES' = true, //显示数据库的操作次数

'SHOW_CACHE_TIMES'=true, //显示缓存操作次数

'SHOW_USE_MEM' = true, //显示内存开销

提示信息如下图:

2、页面Trace信息的自定义:\ThinkPHP\Tpl\PageTrace.tpl.php

自定义的方法一:在config.php的同级目录加上一个trace.php文件

?php

return array{

'当前的server信息'=$_SERVER['REMOTE_ADDR'],

};

?

自定义的方法二:在Action方法中添加

$this-trace('我很丑,但是我很温柔','5211314');

3、输出调试法:

halt('aaaaaaa');//输出aaaaaa并且中断程序执行

4、模型调试:显示SQL语句

$User=new Model('User');

$User-find(1);

echo $User-getLastSql();//输出最后执行的一条SQL语句

5、日志记录\ThinkPHP\Lib\Think\Core\Log.class.php

config.php中设置

'LOG_RECORD'=true,//开启了日志记录

'LOG_RECORD_LEVEL'=array('EMERG','ALERT'