Maison > Questions et réponses > le corps du texte
官网,包括网上查了,看了好几篇,都没有看懂有什么实际的作用,就拿官网给出的例子说,`<?php
use MonologLogger;
use MonologHandlerStreamHandler;
// 创建日志频道
$log = new Logger('name');
$log->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING));
// 添加日志记录
$log->addWarning('Foo');
$log->addError('Bar');`
我尝试了一下,生成的就是:
[2017-03-21 10:34:49] name.WARNING: Foo [] []
[2017-03-21 10:34:49] name.ERROR: Bar [] []
然而并没有看出有什么实际的用途,好像就是往指定的文件里面写了一点信息的作用...
黄舟2017-04-11 10:23:09
第一,为什么要记录日志?
很多时候确实也不想记录日志,记录了会占用服务器磁盘空间,网站访问量大的话一天几百兆甚至上G的空间也是蛮大的负担。但是运维过程中,经常会发生各种各样的错误和异常,你不记录日志的话这些错误和异常就只能靠复现了。而记录日志的话,看看日志很多时候就明白了。
此外,和其他系统之间的接口之类的如果不记录日志,出了问题那就扯不清了。
第二,为什么要用pushHandler这种方式?
就我做过的一个项目,日志除了记录到文件外,还要发送到ELK上,还要把错误日志发送邮件给运维人员,如果直接写死也太死板了,通过pushHandler增加各种处理器来处理会很灵活的。
像 WhatFailureGroupHandler
这种前人总结好的handler还能提高记录日志的性能,也省去了很多自己重复造轮子的工作量。