首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Silex的默认Monolog消息

使用Silex的默认Monolog消息
EN

Stack Overflow用户
提问于 2013-12-12 23:29:40
回答 2查看 2.7K关注 0票数 3

我使用Silex 1.1和Monolog 1.0.0。我的代码和问题:

代码语言:javascript
复制
$app->register(new Silex\Provider\MonologServiceProvider(), array(
  'monolog.name' => 'myname',
  'monolog.logfile' => ROOT . '/logs/log.txt',
  'monolog.level'   => Monolog\Logger::INFO
));

. . .
$app['monolog']->addInfo('xxx');

一切正常,但我得到的默认消息如下:

代码语言:javascript
复制
[2013-12-13 00:20:56] myname.INFO: Matched route "GET_api_v1_predictions" (parameters: "_controller": "predictions.controller:index", "_route": "GET_api_v1_predictions") [] []
[2013-12-13 00:20:56] myname.INFO: > GET /api/v1/predictions [] []

我怎么能让他们停用?(如果我将日志记录级别更改为WARNING并使用addWarning,则只显示我的消息,但我希望使用信息级别)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-13 11:18:32

您仍然可以为您的应用程序创建一个记录器,它不被其他进程使用:

代码语言:javascript
复制
use Monolog\Logger;
use Monolog\Handler\StreamHandler;

// initialize the logger
$app['mylog'] = $app->share(function($app) {
   return new Logger('mylog');
});
$app['mylog']->pushHandler(new StreamHandler('/logfile/mylog.log', Logger::INFO));
$app['mylog']->addInfo('Private Log initialized');
票数 6
EN

Stack Overflow用户

发布于 2013-12-13 09:47:59

目前没有办法让他们停用的日志命令是无条件注册的。

短期的解决方案是将MonologServiceProvider复制到自己的应用程序中,根据需要更改日志命令。

长期的解决方案是分叉silex存储库,更改MonologServiceProvider以提供禁用这些命令的方法,然后创建一个拉请求,以便每个人都能享受您的工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20556385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档