pal*_*ons 7 queue logging jobs laravel-5
我的supervisor/conf.d/myconf.conf文件中有以下设置:
[program:my-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/html/artisan queue:work sqs --queue=my_queue_name --tries=3 --daemon
autostart=true
autorestart=true
user=root
numprocs=1
redirect_stderr=true
stdout_logfile=/var/www/html/storage/logs/mylogfile.log
Run Code Online (Sandbox Code Playgroud)
我已授予storage/logs/mylogfile.log文件的所有权限.无法弄清楚为什么它仍然没有记录,
小智 18
我想你正在使用Daily日志.
当我们有单个日志文件时,我们有一个日志文件:" laravel.log "我们给予完全许可[777],因此我们能够记录并且一切都按预期工作.
但是当我们选择每日文件时,每当laravel应用程序需要记录某些内容时,它将创建一个新文件.现在这个文件的所有者是Web服务器(守护进程/ www-root),因为laravel由用户守护进程/ www-root运行.
当队列被处理时,操作中的用户是" cli ",并且它没有写入该文件的权限.所以它抛出异常并且处理停止.
如果您使用每日日志,我建议您做的是更改单一设置,以便为不同的用户创建不同的日志文件.
将此代码添加到 bootstrap/app.php
/**
* Configure Monolog.
*/
$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)
在重新启动应用程序之前.
现在您将拥有cli的日志文件,并且与该队列相关的所有内容都将记录在该文件中.
这也可以保持日志文件的清洁.HTTP应用程序日志将位于不同的文件中,队列处理日志将位于不同的文件中.
另外,请不要忘记运行以下命令.
确保正确加载新配置
php artisan config:clear
Run Code Online (Sandbox Code Playgroud)
当您使用supervisor守护程序队列worker时,您将需要广播队列重启信号.
php artisan queue:restart
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
基于@PrabhatRai的回答,这是另一个看起来更像是Laravel默认行为的配置示例.
将此代码添加到bootstrap/app.php:
$app->configureMonologUsing(function (Monolog\Logger $monolog) {
$filename = storage_path('logs/' . php_sapi_name() . '-' . posix_getpwuid(posix_geteuid())['name'] . '.log');
$monolog->pushHandler($handler = new Monolog\Handler\RotatingFileHandler($filename, 30));
$handler->setFilenameFormat('laravel-{date}-{filename}', 'Y-m-d');
$handler->setFormatter(new \Monolog\Formatter\LineFormatter(null, null, true, true));
});
Run Code Online (Sandbox Code Playgroud)
laravel-2017-03-27-cli-raph.log并且laravel-2017-03-27-fpm-cgi-raph.log更易读.| 归档时间: |
|
| 查看次数: |
15130 次 |
| 最近记录: |