在 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 之外的文件中)。
您可以在文件 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] = [];
在 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 之外的文件中)。
您可以在文件 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] = [];