php 的扩展包monolog/monolog 有什么实际的用途?
大家讲道理
大家讲道理 2017-04-11 10:21:09
0
1
369

官网,包括网上查了,看了好几篇,都没有看懂有什么实际的作用,就拿官网给出的例子说,`<?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 [] []
然而并没有看出有什么实际的用途,好像就是往指定的文件里面写了一点信息的作用...

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

reply all(1)
黄舟

第一,为什么要记录日志?

很多时候确实也不想记录日志,记录了会占用服务器磁盘空间,网站访问量大的话一天几百兆甚至上G的空间也是蛮大的负担。但是运维过程中,经常会发生各种各样的错误和异常,你不记录日志的话这些错误和异常就只能靠复现了。而记录日志的话,看看日志很多时候就明白了。

此外,和其他系统之间的接口之类的如果不记录日志,出了问题那就扯不清了。

第二,为什么要用pushHandler这种方式?

就我做过的一个项目,日志除了记录到文件外,还要发送到ELK上,还要把错误日志发送邮件给运维人员,如果直接写死也太死板了,通过pushHandler增加各种处理器来处理会很灵活的。

WhatFailureGroupHandler 这种前人总结好的handler还能提高记录日志的性能,也省去了很多自己重复造轮子的工作量。

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template