Ubuntu上ThinkPHP日志管理实操指南
一 基础配置与目录权限
return [
'default' => 'file',
'level' => ['error','warning','info'],
'channels' => [
'file' => [
'type' => 'File',
'path' => runtime_path() . 'log',
'single' => false,
'file_size' => 10 * 1024 * 1024, // 10MB
'max_files' => 30,
'apart_level' => ['error','sql'],
'realtime_write' => false,
'format' => '[%s][%s] %s',
],
],
];
sudo chown -R www-data:www-data /var/www/your-app
sudo chmod -R 755 /var/www/your-app
sudo chmod -R 775 /var/www/your-app/runtime
二 写入与级别
use think\facade\Log;
Log::info('用户登录', ['uid' => 1001]);
Log::error('支付失败: {reason}', ['reason' => '余额不足']);
Log::write('紧急告警:服务不可用', 'alert');
三 切分归档与清理
# 0 1 * * * cd /var/www/your-app && php think log:archive
四 线上排查与运维命令
tail -f runtime/log/2025*/01.log
tail -f runtime/log/2025*/error.log
grep -E '\[error\]|\[critical\]' runtime/log/2025*/01.log
find runtime/log -name "*.log" -mmin -60 -exec grep -H '' {} \;
# 查看日志目录占用
du -sh runtime/log
# 查看磁盘使用
df -h
# 设置告警阈值(结合监控/告警系统)