我想在Codeigniter中使用log_message,但log_messages不会在日志文件中写入任何内容。
$config['log_threshold'] = 4;
$config['log_path'] = 'http://spsvn01/var/www/html/RAIDLOG/application/logs/';
在我的控制器中,我写道:
log_message('error','USER_INFO '.$user_info['email']);
非常感谢!
我将使用指向应用程序文件夹的FCPATH
常量:
$config['log_threshold'] = 4;
$config['log_path'] = FCPATH . '/application/logs/';
对我来说效果很好。
http://www.codeigniter.com/user_guide/general/errors.html
信息消息
log_message('info', 'USER_INFO ' . $user_info['email']);
错误消息
log_message('error', 'USER_INFO ' . $user_info['email']);
此外,日志文件夹必须是可写的。对文件夹执行CHMOD 700
。
打开your_project_dir/application/config/config.php
在配置文件中,你会发现3个默认变量
$config['log_threshold']=0;
$config['log_path'] = '';
$config['log_file_extension'] = '';
- $config['log_threshold']接受数组(1、2、3)或单个整数$config['log_path']接受日志文件的路径(如果保留为空,则将设置默认路径,默认路径为your_project_dir/application/logs/)
- $config['log_file_extension']接受日志文件扩展名,即html、txt等(如果保留为空,则默认扩展名为php)
- 请确保您的日志路径是可写的
错误状态已在中定义
your_project_dir/system/core/Log.php
protected $_levels = array('ERROR' => 1, 'DEBUG' => 2, 'INFO' => 3, 'ALL' => 4)
你必须分配数组,即错误和信息数组(1,2)方法log_message(",")接受2个参数。第一个参数是级别(即ERROR或DEBUG或INFO或ALL)&第二个参数是消息。
示例:
log_message('ERROR', 'Custom error here.');
记住如果分配,所有默认的php错误都将成为日志的一部分
$config['log_threshold']=array(1)
对于自定义日志:您必须在_project_dir/system/core/Log.php中添加一个新的数组元素即
protected $_levels = array('ERROR' => 1, 'DEBUG' => 2, 'INFO' => 3, 'ALL' => 4, 'CUSTOM' => 5);
现在您可以将方法调用为
log_message('CUSTOM', 'Custom message here.'); // This will put just your custom messages in log file
就这么简单:
$config['log_threshold'] = 4;
$config['log_path'] = '/logs/';
这是一篇旧帖子,但可以帮助某人:我的代码点火器日志尚未写入,所以我转到日志文件夹并执行此命令:sudo chown www数据日志/
将用户www数据转为文件夹的所有者,然后再转为其工作。