sen*_*nty 0 php logging supervisord laravel laravel-5.7
我正在尝试将我的 Laravel 5.5 项目升级到 5.7。我使用主管,在我configureMonologUsing()用来生成日志之前,但显然随着 5.6 升级,它贬值了。我在 L5.5 中的完整代码是:在 bootstrap/app.php 中:
$app->configureMonologUsing( function( Monolog\Logger $monolog) {
$processUser = posix_getpwuid( posix_geteuid() );
$processName= $processUser[ 'name' ];
$filename = storage_path( 'logs/laravel-' . php_sapi_name() . '-' . $processName . '.log' );
$handler = new Monolog\Handler\RotatingFileHandler( $filename );
$monolog->pushHandler( $handler );
});
Run Code Online (Sandbox Code Playgroud)
它正在生成各种记录器,例如(这很方便):
laravel-cli-root-{date},
laravel-cli-ubuntu-{date},
laravel-cli-www-data-{date},
laravel-fpm-fcgi-www-data-{date} 等...
但是,它在升级指南中说,所以我不能再使用configureMonologUsing了:
该
configureMonologUsing方法如果您使用 configureMonologUsing 方法为您的应用程序自定义 Monolog 实例,您现在应该创建一个自定义日志通道。有关如何创建自定义通道的更多信息,请查看完整的日志记录文档。
我无法弄清楚如何使用日志记录通道实现相同的目标。如何利用 Monolog Channel 编写 laravel/storage/logs 文件夹?
Laravel版本5.6.10和以后具有用于支持permission上述结构(元件config/logging.php)的single和daily驱动程序:
'daily' => [
'driver' => 'daily',
'path' => storage_path('logs/laravel.log'),
'level' => 'debug',
'days' => 7,
'permission' => 0664, // this line lets the file owner to be www-data:www-data
],
Run Code Online (Sandbox Code Playgroud)
无需在引导脚本中处理 Monolog。
具体来说,在https://github.com/laravel/framework/commit/4d31633dca9594c9121afbbaa0190210de28fed8中添加了支持。
| 归档时间: |
|
| 查看次数: |
1908 次 |
| 最近记录: |