Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re^4: Choosing a log level

by Your Mother (Archbishop)
on Mar 30, 2017 at 20:43 UTC ( [id://1186544]=note: print w/replies, xml ) Need Help??


in reply to Re^3: Choosing a log level
in thread Choosing a log level

I understand your aversion. I share it. The point of multiple log levels is to afford turning off the lesser, super-verbose logging but have the easy option to bring up more, maybe the whole enchilada, when a bug/issue eludes casual debugging. In production, I don’t send anything below FATAL and ERROR to the logs.

Replies are listed 'Best First'.
Re^5: Choosing a log level
by BrowserUk (Patriarch) on Mar 30, 2017 at 21:53 UTC
    The point of multiple log levels is to afford turning off the lesser, super-verbose logging

    Hm. We'll have to agree to differ I think. That still means that the source code is cluttered with lots of junk who's only function is better achieved using line(number) tracing and/or temporary print statements.


    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority". The enemy of (IT) success is complexity.
    In the absence of evidence, opinion is indistinguishable from prejudice.
      Is obviously a matter of taste and it may vary a lot under different circumstances.

      But i dont think source code is cluttered if you have a granulary defined set of logging levels. Infact you can have or a generalistic function that receive the loglevel as first argument as in mylog ("ERR","main DB is not available"); or many specialized subs that all inherit same behaviour from a generic one, resulting in something like: err ("auth failed");

      Playing with prototypes (uch!) you can have a cleaner syntax like err "auth failed";

      All these lines, in my opinion, do not make noise in the code; they help to clarify the code itself like comments and probably in a more precise way. Reviewing the code you can immediately know what (the programmer thinks is supposed to) happens if something is ok or is not ok. You also get an immediate perception about the severity of what happened.

      I ever work alone, no one inspect my code (outside PM) but i suspect that in cohoperative Perl team this is a big benefit.

      Such practice can incide on the program speed? I dont know but it seems difficult to me: if the loglevel is normally set on WARN on production the whole other calls to the logging sub end to be a bare return; that i suspect Perl optimize as nothing to do or comments/POD (just a guess).

      L*

      There are no rules, there are no thumbs..
      Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.
        All these lines, in my opinion, do not make noise in the code;

        We differ.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1186544]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (5)
As of 2024-03-29 10:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found