> 백엔드 개발 > PHP 튜토리얼 > thinkphp 日志记录没有文件生成

thinkphp 日志记录没有文件生成

WBOY
풀어 주다: 2016-06-23 13:45:05
원래의
2659명이 탐색했습니다.

我在官网文档上看到只要是调试模式 日志就会记录。可我的日志文件怎么弄都不会生成。
index.php内容是:

<?php//缓存路径define('APP_DEBUG',True);define('APP_PATH','./Application/');define('THINK_PATH','./ThinkPHP/');require THINK_PATH.'ThinkPHP.php';?>
로그인 후 복사


页面内容是:
<?phpThink\Log::record('测试日志信息');?>
로그인 후 복사


请问还需要配置什么才会在Logs目录里出现日志文件。


回复讨论(解决方案)

1、日志的记录并非实时保存的,只有当当前请求完成或者异常结束后才会实际写入日志信息,否则只是记录在内存中。
2、record方法只会记录当前配置允许记录的日志级别的信息,所以你还需要配置一下记录的级别:
'LOG_LEVEL' =>'EMERG,ALERT,CRIT,ERR', // 只记录EMERG ALERT CRIT ERR 错误
3、采用record方法记录的日志信息不是实时保存的,如果需要实时记录的话,可以采用write方法,write方法写入日志的时候 不受配置的允许日志级别影响,可以实时写入任意级别的日志信息:
Think\Log::write('测试日志信息,这是警告级别,并且实时写入','WARN');

调试模式会自动开启debug.php

/** * ThinkPHP 默认的调试模式配置文件 */defined('THINK_PATH') or exit();// 调试模式下面默认设置 可以在应用配置目录下重新定义 debug.php 覆盖return  array(    'LOG_RECORD'            =>  true,  // 进行日志记录    'LOG_EXCEPTION_RECORD'  =>  true,    // 是否记录异常信息日志    'LOG_LEVEL'             =>  'EMERG,ALERT,CRIT,ERR,WARN,NOTIC,INFO,DEBUG,SQL',  // 允许记录的日志级别    'DB_FIELDS_CACHE'       =>  false, // 字段缓存信息    'DB_SQL_LOG'            =>  true, // 记录SQL信息    'TMPL_CACHE_ON'         =>  false,        // 是否开启模板编译缓存,设为false则每次都会重新编译    'TMPL_STRIP_SPACE'      =>  false,       // 是否去除模板文件里面的html空格与换行    'SHOW_ERROR_MSG'        =>  true,    // 显示错误信息    'URL_CASE_INSENSITIVE'  =>  false,  // URL区分大小写);
로그인 후 복사

我将 页面内容改为

<?phpThink\Log::record('测试调试错误信息', Think\Log::INFO);Think\Log::save();?>
로그인 후 복사



还是没用。Logs目录就是不生成文件。。求解

你是部署问题还是啥哟?检查下文件夹下的操作权限。

http://document.thinkphp.cn/manual_3_2.html#log
http://blog.sina.com.cn/s/blog_7fb1495b0100xkk8.html
看看就会了

楼主,你的问题很可能是你把Runtime/Logs/下面的Home目录,或者你绑定的其它目录给删除了。重建一个看看。

你是操作的HOME模块吗 如果不是 像我操作的是Admin模块 就自己在Runtime/Logs/下建一个Admin目录

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿