I'm building a docker image for a Symfony application. In this image, I want to stream the Symfony logs to stdout. So, similar to how nginx logs are configured, I added this line to my Dockerfile:
ln -sf /dev/stdout /var/www/project/app/logs/prod.log
Inside the container, I can see this:
$ ls /var/www/project/app/logs/ -l
total 12
-rw-r--r-- 1 501 games 4473 Jul 21 08:36 dev.log
lrwxrwxrwx 1 501 games 11 Jul 21 08:35 prod.log -> /dev/stdout
However, the app throws following error:
PHP Fatal error: Uncaught exception 'UnexpectedValueException' with message 'The stream or file "/var/www/project/app/logs/prod.log" could not be opened: failed to open stream: No such file or directory' in /var/www/project/app/cache/prod/classes.php:5808
Stack trace:
#0 /var/www/project/app/cache/prod/classes.php(5746): MonologHandlerStreamHandler->write(Array)
#1 /var/www/project/app/cache/prod/classes.php(5917): MonologHandlerAbstractProcessingHandler->handle(Array)
#2 /var/www/project/app/cache/prod/classes.php(6207): MonologHandlerFingersCrossedHandler->handle(Array)
#3 /var/www/project/app/cache/prod/classes.php(6276): MonologLogger->addRecord(500, 'Fatal Error: Un...', Array)
#4 /var/www/project/app/cache/prod/classes.php(1978): MonologLogger->log('critical', 'Fatal Error: Un...', Array)
#5 /var/www/project/app/cache/prod/classes.php(2034): SymfonyComponentDebugErrorHandler->handleException(Object(SymfonyComponentDebugExceptionFatalErrorException), Array)
#6 [internal function]: SymfonyComponentDebugE in /var/www/project/app/cache/prod/classes.php on line 5808
Any suggestions ?
See Question&Answers more detail:os