symfony 5.3 日志文件无法在追加模式下打开:无法打开流docker

如何解决symfony 5.3 日志文件无法在追加模式下打开:无法打开流docker

我有一个使用 monolog 配置的旋转日志文件,它的工作原理很吸引人,突然我收到错误消息,指出无法创建文件,当前端调用我的 symfony 后端时,该后端在 alpine docker 容器中运行。 在运行我的 PHPunit 测试时创建日志文件根本不会造成任何问题。

这是我的 monolog 配置,没有改变:

monolog:
    handlers:
        frontend:
            type: rotating_file
            path: "%kernel.logs_dir%/%kernel.environment%.frontend.log"
            level: error
            channels: [ frontend ]
            max_files: 3
        main:
            type: rotating_file
            path: "%kernel.logs_dir%/%kernel.environment%.log"
            level: debug
            channels: [ "!event","!frontend","!deprecation"  ]
            max_files: 3
        console:
            type: console
            process_psr_3_messages: false
            channels: [ "!event","!doctrine","!console","!deprecation" ]

我所做的是禁用会话,这应该不会影响系统是否能够创建用于写入的文件

为什么我的服务器不能再写入日志文件

我对日志文件夹的权限增加到 777,服务器在其容器中以“root”身份运行:

e9dffe459185:/var/www/var# ll
total 8
drwxrwxr-x    6 root     root           192 Jul 22 15:07 ./
drwxr-xr-x   51 root     root          1632 Jul 23 10:16 ../
drwxrwxr-x    4 root     root           128 Jul 23 11:01 cache/
drwxrwxrwx    3 root     root            96 Jul 23 11:02 log/

解决方法

看来问题已通过更新 monolog 得到解决:

Updating dependencies
Lock file operations: 0 installs,1 update,0 removals
  - Upgrading monolog/monolog (2.3.1 => 2.3.2)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs,0 removals
  - Downloading monolog/monolog (2.3.2)
  - Upgrading monolog/monolog (2.3.1 => 2.3.2): Extracting archive

看起来 2.3.1 版本有问题。升级后我没有再遇到其他问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?