在 TYPO3 9.5 中禁用日志文件中的警告

disable warnings in log file in TYPO3 9.5

在 typo3temp/var/log 的日志文件中,我可以找到这样的警告:

Fri, 15 May 2020 22:34:48 +0200 [WARNING] request="6010017cd88f6" 
component="TYPO3.CMS.Frontend.Controller.TypoScriptFrontendController": $TSFE->set_no_cache() 
was triggered. Reason: config.no_cache is set. Caching is disabled!

此警告仅在此日志文件中,不在 typo3 后端的日志中。 在 TYPO3 的设置中,我选择了预设 "Live" 作为调试设置。在 TYPO3 的早期版本中,此设置保证不会写入任何日志文件。

如何禁用日志文件中的警告输出?

TYPO3 9.5.17

谢谢!

为了确定,请检查您当前的配置。在后端:Configuration > $GLOBALS['TYPO3_CONF_VARS'] > LOG.

如果看起来像这样

LOG/
└── writerConfiguration
    └── 4
        └── TYPO3\CMS\Core\Log\Writer\FileWriter

您正在使用 LogLevel 4,这是警告,您可能想要使用 3,这是错误。日志级别在 typo3/sysext/core/Classes/Log/LogLevel.php

这是您可以更改 AdditionalConfiguration.php 中的配置的方法:

$GLOBALS['TYPO3_CONF_VARS']['LOG']['writerConfiguration'] = [
  \TYPO3\CMS\Core\Log\LogLevel::ERROR => [
        \TYPO3\CMS\Core\Log\Writer\FileWriter::class => [
            'logFile' => 'path of log file ....'
        ]
  ]
];

(顺便说一句,如果您使用的是非基于 Composer 的安装,您仍然可以将日志记录配置为记录到 webroot 之外的文件中)。

文档:https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ApiOverview/Logging/Configuration/Index.html

您可以在文件 typo3/sysext/core/Configuration/DefaultConfiguration.php:

中查看日志记录框架的默认设置

可以看到默认的其实是WARNING:

'LOG' => [
        'writerConfiguration' => [
            \TYPO3\CMS\Core\Log\LogLevel::WARNING => [
                \TYPO3\CMS\Core\Log\Writer\FileWriter::class => []
            ]
        ],

"Live"预设集:

['BE']['debug'] = false;
['FE']['debug'] = false;
['SYS']['devIPmask'] = '';
['SYS']['displayErrors'] = 0;
['SYS']['systemLogLevel'] = 2; // 2 means warning

据我所知,none 这会影响日志记录框架写入的日志。不过,您可能希望将 systemLogLevel 更改为登录到 sys_log table。

根据您在管理日志中需要的错误记录,从后端设置中操作以下参数 (sys_log table)

[SYS][beLogErrorReporting]

要禁止将日志写入文件,您需要在AdditionalConfiguration.php

中使用以下内容

你可以通过不同的常量设置它,这里我禁用了警告

$GLOBALS['TYPO3_CONF_VARS']['LOG']['writerConfiguration'][\TYPO3\CMS\Core\Log\LogLevel::WARNING] = [];