Please, no more logging!

What is it with opensores and logging? I am utterly perplexed by why so many popular frameworks think that everyone cares about their startup cruft.

Maybe the whole problem can be traced to the linux kernel bootup console. We all probably remember the thrill of seeing that, of feeling faintly hackery and l33t, even though we’re not kernel hackers and most of it was in fact gibberish. It didn’t matter that what the messages actually said had no real impact on the end result (either the system came up or it didn’t, and which one happened had nothing to do with the messages). What mattered is that it made the average nerdy fuckface feel cool and hackerish.

Fast foward a few years, and those linux chocolate log miners stumbled bleary eyed into the enterprise world and had to learn Java. Being linux communallovefaggotarse types, they had to bring in the same spirit of assholeness to everyone else.

So, what do we have as a result? We have JBoss, with 6-7 pages of output when things go well, and a (not very) abridged version of War and Peace when they (usually) do not.

We have Hibernate, which feels it’s important to inform you of every time a Fleury inserts anything into Gavin’s ass, or every time Christian (he’s the asshole right? I always confuse him with Emmanuel, one of them is an utter turd, the other is not) defecates on a homeless person.

Not to be outdone, Spring jumps into the fray as well. Reams and reams of utterly worthless output, all about how its beans are busy molesting one another with gay abandon. Thank fuck for the full list of every worthless little bean that’s defined, because, you know, it’s important to be told of what your own XML files say. It’s not like you wrote them or anything.

It’s like there’s a whole generation of developers that’s developed collective amnesia over the difference between DEBUG and INFO.

I beg of all you opensores people, please please think of us users when you poop out your logging. Put messages that WE think are useful, not that you like to masturbate to. When I start up a library or framework, I expect it to start, and don’t need to know the details. I want to know when things go wrong, not when things go right. Maybe being mentioned in log4j.properties files everywhere makes you feel special. The person mentioning you though is far, far more likely to think you’re an inconsiderate self-aggrandising shithead.

Hell, I’m extending an offer to go over your app for free and send you a patch to remove all the suprious startup messages (hint hint, spring/hibernate people). Just holler if you’re interested.

Oh and apologies for the long hiatus, I got married.

44 Responses to “Please, no more logging!”

  1. Hello Says:

    Frist post! #pimp rules!

  2. afsina Says:

    i actually hate Jboss’es useless exceptions more than its startup loggers.. i do hate commons logging and log4j too.
    congrats for the marriage.

  3. Jacob Says:

    Congrats on getting hitched, i’m falling into the same trap in a few weeks ;-)

  4. Jacob Says:

    Btw, the logging doesn’t so much bug me with hibernate (that’s what levels are for), but when hibernate decides to start returning the correct data, then somewhere in the stack, they decided to put in an assertion for good measure and throw an exception for ‘Object Parameter Binding Assertion ID Invalid on Wednesdays’ from ‘SessionImplPersisterAbstractClazzSingleTableModel.java’

    Just return me the crap I want and warn in the logs or something if you don’t like the way someone’s datamodel works, a lot of the times its out of our control.

  5. Behrang Says:

    LOL! I can’t stop laughing after reading this post! =))

    And don’t forget about Liferay 4.1 on Jetty ;-) Here’s a screenshot that just explains everything:
    http://my.opera.com/behrangsa/blog/show.dml/408123

  6. Dennis Byrne Says:

    Congrats Hani. What’s his name?

  7. Rob Schoening Says:

    There is a vast ocean of dreadful software in the world and this is the best you can come up with?

    What happend to the BileBlog that I used to know and love?

  8. jsled Says:

    > Congrats Hani. What’s his name?

    Heh. Heh.

    Congrats! Keep the bile coming.

  9. Muthu Ramadoss Says:

    Congrats Hani!

    Now I know your “AdSense” had worked really well ;)

  10. Vityok Says:

    Logging and logging frameworks suck, look at Adobe Flex: http://www.adobe.com/products/flex/ - the coolest bargain I’ve seen up to this day.

  11. anjan bacchu Says:

    hi hani,

    how about the big stacktraces from websphere that jason hunter(servlets.com) report a while back.

    otherwise, congrats on your marriage.

    BR,
    ~A

  12. Obie Fernandez Says:
    obie-fernandezs-computer:~/twix obie$ server
    => Booting WEBrick...
    => Rails application started on http://0.0.0.0:3000
    => Ctrl-C to shutdown server; call with --help for options
    [2006-08-29 12:12:01] INFO  WEBrick 1.3.1
    [2006-08-29 12:12:01] INFO  ruby 1.8.4 (2005-12-24) [i686-darwin8.6.1]
    [2006-08-29 12:12:02] INFO  WEBrick::HTTPServer#start: pid=8519 port=3000

    ‘Nuff said.

  13. Mats Henricson Says:

    Congratulations!

  14. Fredrik Says:

    That’s the first time I ever saw Hani apologize for anything…

  15. Marc Fleury Says:

    Got married ? What?!
    Is she one of those type of girls that gets turned on by insults ?
    Good luck. No, really. She’s going to need it.

  16. Ivan Says:

    Hani you fucking rule. Congrats on the marriage. She’s either insane, or a genius, or hot, or all three or none. (probably 2).

    I so have to agree with this shit; A an error message is really not the time to tell us about the 648 classes you used just so we can print hello world all of which read like DelegatingPOJOMashallingReflectionProxyStabInTheAssBean.

    I hope all modern frameworks with error messages longer than 3 lines die in a massive pit of acidic lava extreme-heat-resistent aids-infected shark mutants with a propensity for anal rape.

  17. Marc Logemann Says:

    I agree, people should output all those things to standard.out, here the fun factor is definitely higher.

  18. BileBlog Groupie Says:

    Congratulations on tying the knot! I hope you don’t fall into the usual marriage trap of going all soft in the head (and the midriff)!

  19. Dr. Turd Says:

    LOL. Genius post. “Supreme Ownage” of JBOSS and Hiberate turd-itects. I heard that the next version of “Hibernate in action” will have a fold out pinup of the start up log for all the horny Hibernators out there who get boners at the very site it.

  20. Father Abraham Says:

    “I want to know when things go wrong, not when things to right.”

    “Oh and apologies for the long hiatus, I got married.”

    Now - either you are contradicting yourself here or your private life is on its way down.

  21. nobody Says:

    The web-app I’m currently working on produces about 2 A4 pages of log output - per request (including the requests for stylesheet and JavaScript files that every single JSP file refer to).

    But hey! that’s the least fucked up thing about it :)

  22. Fary Mleurc Says:

    Hey, they’re using the awesome commons-logging, so that makes everything right again.

  23. Berky Boy Says:

    Please step up to the ultimate challenge: bile your wife over here! Or tell us how you met her on the “She-male Extravaganza” shooting.

  24. none Says:

    Hani, the reason I used to think you’re fun wasn’t because of the number of synonyms for anal sex you can work into a sentence - it was because you had sharp, witty observations about why the hype-masters in java-land were dead wrong.

    Please Hani, cut the swearing.

    That, in itself, is not fun.

  25. pcomeau Says:

    congrats on getting married…

    Keep up the swearing…

    and on stupid loggin:
    Why Hibernate has to “Warn” me in the log it’s swtiching databases (when I fuckin told it too) is beyond me.

  26. fenix Says:

    uhmm.. isnt that what logging is for?! Turn the logging level up for the package(s) you are bitching about and shut up..,

    I used to enjoy your rants, but this is rediculous.

  27. Sean Corfield Says:

    This was what made me uneasy about JBoss the very first time I fired it up… Today I interviewed an operations guy and asked him about logging and he said that 95% of log output is garbage… I dread opening a log file these days :(

  28. Uncle Wiggly Says:

    Well, now, this is just confusing. Why would anyone attack the logging industry in this great country of ours ? I’m just going to have to shake my head slowly like Ronnie Reagan and say : “There you go again.” in my condescending sad-amused voice.

    The Clown President didn’t do much good for the country, it’s true, but at least we old folks can copy his head-wagging. That’s something.

    The Wiggly One thinks that using exaggeratedly vehement obscenities to express one’s point of view just HAS to be a good idea. Criticism in this area is unjustified. We have to keep in mind that we are fighting a difficult war on terror, against a brutal and extremely impolite enemy. If logging and obscenity can help us win that war, it is our duty to use them … darn it.

    oooo - well, that was a little racy there, wasn’t it ? I had better let my heart rate lower to normal … until next time, then, my fellow Americans !

  29. Horny Clown Says:

    Woohoo! you got hitched! Welcome to the suckers club! Anyway, we can all expect the bile to get nastier now that you are guaranteed to have more problems in your life. Woohoo!

  30. LogTheShitOut Says:
    obie-fernandezs-computer:~/twix obie$ server
    => Booting WEBrick...
    => Rails application started on http://0.0.0.0:3000
    => Ctrl-C to shutdown server; call with --help for options
    [2006-08-29 12:12:01] INFO WEBrick 1.3.1
    [2006-08-29 12:12:01] INFO ruby 1.8.4 (2005-12-24) [i686-darwin8.6.1]
    [2006-08-29 12:12:02] INFO WEBrick::HTTPServer#start: pid=8519 port=3000

    ‘Nuff said.

    Right. Obie and rails get an “Ass Hat” for free!!!

  31. pcomeau Says:

    fennix…

    Sure I turn the levels up for the crap I write… but I still don’t neeed hibernate and spring, along with tomcat, telling me everytime they take a dump.

    To explain I’m a parent of two.. I’ve been through the whole “yeah honey you went to the potty, now here’s your sticker” system… I don’t need my f’n frameworks to behave the same way. All I need to know is when they shat on the floor.

  32. Marc Fleury Says:

    obie-fernandezs-computer:~/twix obie$ server
    => Booting WEBrick…
    => Rails application started on http://0.0.0.0:3000
    => Ctrl-C to shutdown server; call with –help for options
    [2006-08-29 12:12:01] INFO WEBrick 1.3.1
    [2006-08-29 12:12:01] INFO ruby 1.8.4 (2005-12-24)

    Go shove your Ruby glowstick somehere Obie Wan Kenobi

  33. Cameron Purdy Says:

    You can reduce the output:

    obie-fernandezs-computer:~/twix obie$ server > /dev/null

  34. Anonymous Says:

    INFO: I read this blog [September 02, 2006 at 12:18 GMT]

  35. SabaK Says:

    Congrats on the marriage. Maybe blog something about that, I am sure there are quite a few people here that are curious.

  36. Biggus Dickus Says:

    Awwwww! Hani you jilted me. Well at least let us know if she stops letting you fuck her now you’re married. I’m sure you’ll soon have the solution in hand…

    Congrats you dirty turdburglar.

  37. skorsky Says:

    I am not sure what G. King and Fleury did to deserve this much wrath/bile by you. King gave the Java community an almost ideal persistence tool, which was instrumental in defining EJB3. Fleury gave us an umbrealla organization where these wonderful projects can live, and continue to innovate, without which, we probably would not have JBoss Seam. It seems you are biling just for biling’s sake sometimes… Certain amount of irreverence is good, but you gotta give credit where credit’s due, and think of scenarios where these people/projects would NOT be around.

    Oh about logging: In general Unix/Java people love logging, because WE HATE DEBUGGERS.

    http://linuxmafia.com/faq/Kernel/linus-im-a-bastard-speech.html

    (Note: I am not defending printing out unnecessary crud under INFO of course, simply describing a general tendency).

    I wish you a happy and long lasting marriage.

  38. Rick "Schizzle My Nizzle" Hightower Says:

    15:53:16,565 INFO [MyfacesConfig] No context init parameter ‘org.apache.myfaces.PRETTY_HTML’ found, using default value true
    15:53:16,565 INFO [MyfacesConfig] No context init parameter ‘org.apache.myfaces.ALLOW_JAVASCRIPT’ found, using default value true
    15:53:16,565 INFO [RickHightower] I like writing about losing weight on my blog because I know you all care
    15:53:16,565 INFO [RickHightower] JSF, Spring, Hibernate, JSF, Spring, Hibernate
    15:53:16,565 INFO [RickHightower] I izz the shizzle mutha f**ka
    15:53:16,565 INFO [RickHightower] nuff sed

  39. Jesus M. Rodriguez Says:

    Hani you ROCK! I love reading your blog. It’s right on target :)

    Congrats on the wedding.

  40. prope//er Says:

    So, what do we have as a result? We have JBoss, with 6-7 pages of output when things go well, and a (not very) abridged version of War and Peace when they (usually) do not.

    –> Dude, you should start writing for the Onion. You are good.

  41. Dhanji Says:

    I dont know logbag has some interesting ideas like usage-sequence (grouped) logging. log4j is by no means fully evolved. I think it might make more sense for people to develop appenders to log4j rather than replacements–so thats a valid point.

    As for success messages nobody ever said what DEBUG means…oh wait…let the Jboss bashing continue!!

  42. Simon Says:

    Hani, congratulations!

    Btw, if you have issues with long, chatty messages on stdout and just got married…..mate then you’re in for a surprise!

    Cheers,

    Simon

  43. Chuggid Says:

    http://www.qos.ch/pipermail/logback-user/2006-August/000009.html

  44. Carsten’s Blog » Blog Archive » Maven, Nexus … Says:

    [...] these two are not for me - if you like looking at meaningless logs and masturbate on them, feel free to give it a [...]

Leave a Reply

You must be logged in to post a comment.