在 Ubuntu 下使用 ThinkPHP 进行日志管理,可以遵循以下步骤:
首先,确保你的 ThinkPHP 项目中的配置文件(通常是 .env 或 config.php)设置了正确的日志级别和日志文件路径。例如:
# .env 文件
LOG_LEVEL=debug
LOG_FILE=runtime/log/app.log
或者
// config.php 文件
return [
// ...
'log' => [
'level' => 'debug',
'file' => runtime_path() . 'log/app.log',
],
// ...
];
这将设置日志级别为 debug 并将日志文件存储在项目的 runtime/log 目录下。
确保日志文件路径存在。在项目根目录下运行以下命令:
mkdir -p runtime/log
在你的控制器或模型中,使用 ThinkPHP 的日志记录功能:
use think\facade\Log;
// 记录日志
Log::write('Hello, ThinkPHP!', 'info');
这将在 runtime/log 目录下创建一个名为 app.log 的文件,并将 “Hello, ThinkPHP!” 记录为 info 级别的日志。
要查看日志文件,可以使用 tail 命令实时查看日志输出:
tail -f runtime/log/app.log
或者使用文本编辑器(如 nano 或 vim)打开日志文件:
nano runtime/log/app.log
为了防止日志文件变得过大,可以使用日志轮转。在 Ubuntu 下,可以使用 logrotate 工具来实现。首先,创建一个新的 logrotate 配置文件:
sudo nano /etc/logrotate.d/thinkphp
然后,添加以下内容:
/var/www/your_project_path/runtime/log/*.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
create 640 root adm
}
将 /var/www/your_project_path 替换为你的项目实际路径。这个配置将每天轮转日志文件,保留最近 7 天的日志,并对旧日志进行压缩。
最后,确保 logrotate 服务已启用并运行:
sudo systemctl enable logrotate
sudo systemctl start logrotate
现在,你的 ThinkPHP 项目应该已经在 Ubuntu 下正确配置了日志管理。