Re: [PHP] static Logging class?

[email protected] (Larry Garfield)
Newsgroups php.general
Message-ID <[email protected]>
Make a real classed object that you pass to various objects that need 
it.  Otherwise you make your life way harder for unit testing.  Don't 
have a class that self-enforces that it's a singleton.  That way lies pain.

In particular, I recommend using or writing a class based on the PSR-3 
recommendation:

https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md

There's even stock code for the interface and some useful base classes 
available:

https://packagist.org/packages/psr/log

And for added fun, there are already publicly available open source 
libraries that implement PSR-3 that you can just drop in and use, such as:

https://packagist.org/packages/monolog/monolog

(If that's too heavy for you, writing your own PSR-3 compatible logger 
is dead-simple.)


I'm sure you're about to say "zOMG this is just a hobby project, I don't 
need something that fancy and all injected and shit!"  If it's a simple 
project, use a simple container to do all the hard work for you:

https://packagist.org/packages/pimple/pimple

(That's < 100 lines of executable code.  Quite powerful, dead simple to 
use.)

Cheers.

--Larry Garfield, FIG member


On 03/03/2013 07:26 AM, Lars Nielsen wrote:
> Hi,
>
> I work on a little hobby-project, and i want to make a oo logging
> facility. (php5.3 oop)
>
> Is it best to make a class with static functions that i can call from my
> other classes? Or is it more appropriate to make a real logging-class i
> should instantiate every time i need to log something? (I just want to
> log to a file)
>
> Best regards
> Lars Nielsen
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.