Symfony 응용 프로그램의 도커 이미지를 작성하고 있습니다. 이 이미지에서 Symfony 로그를 stdout으로 스트리밍하려고합니다. 그래서, 구성 방법의 nginx 로그와 유사, 내 Dockerfile이 라인을 추가 :symfony가 Docker 컨테이너의 stdout에 로그합니다.
ln -sf /dev/stdout /var/www/project/app/logs/prod.log
컨테이너 내부를, 나는이를 볼 수 있습니다 그러나
$ 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
을, 응용 프로그램은 다음과 같은 오류가 발생합니다 :
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): Monolog\Handler\StreamHandler->write(Array)
#1 /var/www/project/app/cache/prod/classes.php(5917): Monolog\Handler\AbstractProcessingHandler->handle(Array)
#2 /var/www/project/app/cache/prod/classes.php(6207): Monolog\Handler\FingersCrossedHandler->handle(Array)
#3 /var/www/project/app/cache/prod/classes.php(6276): Monolog\Logger->addRecord(500, 'Fatal Error: Un...', Array)
#4 /var/www/project/app/cache/prod/classes.php(1978): Monolog\Logger->log('critical', 'Fatal Error: Un...', Array)
#5 /var/www/project/app/cache/prod/classes.php(2034): Symfony\Component\Debug\ErrorHandler->handleException(Object(Symfony\Component\Debug\Exception\FatalErrorException), Array)
#6 [internal function]: Symfony\Component\Debug\E in /var/www/project/app/cache/prod/classes.php on line 5808
의견이 있으십니까?
메시지가 추측의 여지가 없습니다 : "/var/www/project/app/logs/prod.log"스트림 또는 파일을 열 수 없습니다 : 스트림을 열지 못했습니다 : 해당 파일 또는 디렉토리가 없습니다 –
분명히 .. 그것은/dev/stdout을 가리키는 심볼릭 링크이기 때문에 쓰기를 위해 파일을 열 수있는 것 같지 않습니다. 그러나 나는 이것을 어떻게 얻을 수 있습니까? (일명 Symfony 로그를이 파일 대신 stdout으로 만드십시오) – Webberig
파일은 어떻게 열리나요? 즉. "w"플래그 만 사용 하시겠습니까? –