在Debian環境下管理Laravel項目的日志可以通過以下幾個步驟進行:
查看日志文件:
Laravel默認將日志文件存儲在 storage/logs
目錄下。你可以使用以下命令查看日志文件:
ls -la storage/logs
配置日志級別:
Laravel支持多種日志級別,如 emergency、alert、critical、error、warning、notice 和 info。你可以在 .env
文件中設置日志級別:
LOG_LEVEL=debug
要更改日志級別,只需修改此設置并重新加載應用程序。
日志輪換:
為了防止日志文件過大,你可以使用日志輪換工具,如 logrotate
。首先,創建一個新的 Logrotate
配置文件,例如 /etc/logrotate.d/laravel
,并添加以下內容:
/path/to/your/laravel/storage/logs/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 0640 www-data adm
}
然后,確保 Logrotate
已安裝并啟用。在Debian/Ubuntu系統上,可以使用以下命令安裝:
sudo apt-get install logrotate
遠程日志記錄:
如果你希望將日志發送到遠程服務器,可以在 config/logging.php
文件中配置遠程日志記錄。例如,要將日志發送到遠程服務器,可以將 channel 設置為 stack
并添加以下配置:
'stack' => [
'driver' => 'stack',
'channels' => ['single'],
'ignore_exceptions' => false,
],
然后在 .env
文件中設置 LOG_CHANNEL
為 stack
:
LOG_CHANNEL=stack
接下來,你需要在遠程服務器上配置一個日志處理程序,例如使用 Logstash
或 rsyslog
。
清除日志文件:
如果你需要清除舊的日志文件,可以手動刪除 storage/logs
目錄下的文件。但是,建議使用 Logrotate
或其他自動化工具來管理日志輪換和清除。
使用日志門面:
Laravel 提供了一個名為 Log
的門面,你可以使用它來記錄日志。例如:
\Log::info('This is an info message');
\Log::warning('This is a warning message');
\Log::error('This is an error message');
自定義日志格式:
Laravel 允許你自定義日志的格式。你可以在 config/logging.php
文件中修改日志格式。例如,將 single
通道的日志格式設置為 JSON:
'channels' => [
'single' => [
'driver' => 'single',
'path' => storage_path('logs/laravel.log'),
'level' => env('LOG_LEVEL', 'debug'),
'formatter' => env('LOG_FORMAT', 'json'),
],
],
你還可以在 .env
文件中設置日志格式:
LOG_FORMAT=json