本文目录导读:

在 Laravel 中配置日志按日切割,可以通过以下两种方式实现:
使用 .env 文件配置(最简单)
在 .env 文件中修改:
LOG_CHANNEL=daily
在 config/logging.php 中配置
查看当前配置
// config/logging.php
return [
'default' => env('LOG_CHANNEL', 'stack'),
'channels' => [
// 默认的单一日志文件
'single' => [
'driver' => 'single',
'path' => storage_path('logs/laravel.log'),
'level' => env('LOG_LEVEL', 'debug'),
],
// 按日切割的通道
'daily' => [
'driver' => 'daily',
'path' => storage_path('logs/laravel.log'),
'level' => env('LOG_LEVEL', 'debug'),
'days' => 14, // 保留天数
],
],
];
设置为默认通道
'default' => env('LOG_CHANNEL', 'daily'), // 改为 daily
完整配置示例
// config/logging.php
return [
'default' => env('LOG_CHANNEL', 'daily'),
'channels' => [
'stack' => [
'driver' => 'stack',
'channels' => ['daily', 'slack'],
'ignore_exceptions' => false,
],
'daily' => [
'driver' => 'daily',
'path' => storage_path('logs/laravel.log'),
'level' => env('LOG_LEVEL', 'debug'),
'days' => 14, // 日志保留天数,过期自动清理
'permission' => 0644, // 可选:文件权限
],
'emergency' => [
'path' => storage_path('logs/laravel.log'),
],
],
];
自定义每日日志文件名
如果你需要自定义日志文件名格式:
'daily' => [
'driver' => 'daily',
'path' => storage_path('logs/laravel-' . date('Y-m-d') . '.log'),
'level' => env('LOG_LEVEL', 'debug'),
'days' => 14,
],
使用多日志环境的配置
如果不同的模块需要不同的日志:
'channels' => [
'orders' => [
'driver' => 'daily',
'path' => storage_path('logs/orders.log'),
'level' => 'info',
'days' => 30,
],
'payments' => [
'driver' => 'daily',
'path' => storage_path('logs/payments.log'),
'level' => 'info',
'days' => 30,
],
],
使用方式:
Log::channel('orders')->info('订单操作日志');
Log::channel('payments')->info('支付信息日志');
注意事项
- 权限问题:确保
storage/logs目录有写入权限 - 日志轮转:Laravel 自动处理每日切换,无需额外 cron 任务
- 清理机制:超过
days配置的日志会自动删除 - 容器环境:如果使用 Docker,需要注意日志文件挂载问题
验证配置
# 清除配置缓存
php artisan config:clear
# 测试日志
php artisan tinker
>>> Log::info('测试日志');
这样配置后,日志将按天生成,文件名格式为 laravel-2024-01-15.log 这样的格式。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播