【问题标题】:Silverstripe 4 error logSilverstripe 4 错误日志
【发布时间】:2018-08-12 13:03:31
【问题描述】:

如何在 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"

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

【问题讨论】:

    标签: silverstripe-4


    【解决方案1】:

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

    SS_ERROR_LOG = "silverstripe.log"
    

    【讨论】:

    • 最佳解决方案。谢谢/
    【解决方案2】:

    要创建自定义日志,请尝试: 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-16
      相关资源
      最近更新 更多