2

如何将错误记录到 SilverStripe 4 中的文件日志?我的意思是所有导致来自 SS 的“内部服务器错误”信息的错误

在 SilverStripe 中是:

SS_Log::add_writer(new SS_LogFileWriter('/var/log/silverstripe/errors.log'), SS_Log::ERR);

文档说我需要做类似的事情:

SilverStripe\Core\Injector\Injector:
  Psr\Log\LoggerInterface: 
    calls:
      LogFileHandler: [ pushHandler, [ %$LogFileHandler ] ]
  LogFileHandler:
    class: Monolog\Handler\StreamHandler
    constructor:
      - "../silverstripe.log"
      - "info"

我试试这个,但不能让它工作:(

4

2 回答 2

5

尝试将这样的字符串添加到您的 .env 文件(https://docs.silverstripe.org/en/4/getting_started/environment_management/)中:

SS_ERROR_LOG = "silverstripe.log"
于 2018-07-11T07:34:33.437 回答
0

要创建自定义日志,请尝试: use Monolog\Handler\StreamHandler; use Monolog\Logger; 然后稍后: $logger = new Logger("my_name"); $logger->pushHandler(new StreamHandler('./silverstripe-custom.log', Logger::INFO)); $logger->info('hi there'); 您应该silverstripe-custom.log在项目根目录中找到。

于 2018-08-12T05:03:31.350 回答