Ceki Gülcü's logging fetish
The one thing you can say about the intarweb that we’ve all come to know and love is that it’s full of some very very bizarre people. Said people will more often than not manifest their deepest dirtiest wishes in the form of midget sex, goatse collages, lemonparty, horses doing unspeakable things to a variety of human orifices, and the shiny white boots of tubgirl. The content in itself isn’t necessarily that disturbing; more disturbing is those who find such material personal fetishfodder.
Of all these fetishes though, none are as freaky as our dear old Ceki’s logging obsession. We’re coming up to the 10th year anniversary of his initial logging spasm, and the little rumpranger shows no sign of tedium nor flagging of unmentionables.
Most people think that the freak just sharted out log4j and saw his creation, and pronounced that it was good. Most people are also exceptionally stupid, ignorant and naive, which perhaps explains the earlier perception.
Indeed, our umlaut laden hero has been a busy little ferret. Disgusted with the evil he wrought in log4j, he then went on to invent a whole host of logging frameworks. After a futile attempt at an enterprise logging project, he went on give birth to a stillborn bloody carcass by the name of ugli. ugli was universal logging, and everyone laughed heartily when he suggested that people switch to it. Even the intellectual giants (har har) at Apache scorned this pointless new API.
Undaunted, brave little Ceki decided instead to rename his project to slf4j, figuring that a project without the magical 4j suffix has no hope of success.
So what is slf4j? Well, it’s a….facade for other logging systems! It’s a replacement for clogging! Now here’s the clever bit, instead of all that magical dynamic discovery mumbo jumbo, the binding from slf4j to a concrete implemention is done at….compile time
! Want to switch logging implementations? Simple, recompile your app!
Of course, having written a logging api, the next natural step is to write a logging api api. slf4j of course does nothing by itself. Instead it has two implementations, nlog4j and SimpleLogger. By now, even the most hardened logging chozgobblers are likely suffering from serious shrinkage.
Nlog4j is basically log4j with some classes ripped out. SimpleLogger is basically a more obscure way of calling System.out.println.
It’s amazing that after all these years, there are still some people who think that time and effort should be invested in more implementations of the same tired old ideas. Is this guy at all in touch with what goes on in the real world? Exactly how many cloggings does the world need anyway? Why oh why oh why do we need wrappers around logging libraries? Has anyone, ever, in the entire history of java, and in all the millions of projects out there, ever, ever switched a logging implementation, and thought ‘using clogging was such a good idea after all!’
September 2nd, 2005 at 7:09 pm
Nice one.
September 2nd, 2005 at 7:10 pm
The only thing left to do in a braindead language like java is to pump out new, pointless APIs
September 2nd, 2005 at 8:46 pm
marxist.org.. very funny
Since he has a log fetish does that make him a fecal -philiac?
I imagine he enjoys looking through core dump logs examining problems caused by kernel issues.
September 2nd, 2005 at 8:58 pm
Now this is just unfair.. Ceki may have a funny name, but he is one of the sanest, technically proficient open source developers around. He has done great service to the community by a) writing a pretty good logging API, b) explaining in detail the evils of clogging (http://www.qos.ch/logging/), and c) providing a sane alternative (slf4j) to clogging for those strange people who insist on wrappers.
September 3rd, 2005 at 12:04 am
It’s also blatantly wrong.
The entire point of SLF4J is that you dont have to recompile or change a configuration to use a different logging system.
This bile just seemed totally off target and pointless.
Cheers,
Nick
P.S. Is there a jroller bug with comments? My previous comment was lost it would seem.
September 3rd, 2005 at 1:31 am
Well, I see Hani’s point and have always wondered who in the right mind would want to switch from one Logging API to another. When you make an app, you look at the available logging frameworks (I see nothing wrong with J2SE Logging) and decide which one best suites your needs. Hell even writing your own inhouse logging framework isn’t a big deal. Why you may ask? because it is so damn easy. And it will not suffer from any performace issues because you’re only doing
if (debug) {
System.out.println(“DEBUG” + time + ” – ” + message);
}
so there really no need for a logging framework.
P.S. what is the point of P.S. we’re not writing letter on paper anymore. If you want to add something move your damn cursor to the place where you want to add stuff and type it out.
September 3rd, 2005 at 5:01 am
You are just jealous you Lebanese biatch.
BTW, Ceki actually shares much of the same worldview as you.
Read up:
http://www.mail-archive.com/general@jakarta.apache.org/msg00438.html
September 3rd, 2005 at 9:25 am
Well, the point behind clogging is really so that the API guys can all just log and know that, no matter what the app using the API(s x100) logs through, they’ll fit with it.
I don’t care what Ceki considers problems with existing systems – what do _you_, honestly and without reference to his points, think is wrong with them ?
Although on the other hand it’s good to know that there are people out there whose minds are limited enough that logging APIs and so forth satisfies them. At the end of the day it doesn’t get much more simple and leaves us engineers to, well, engineer stuff…
September 3rd, 2005 at 10:23 am
The only reason to ever use a logging api wrapper is if you write a library, not an application, especially if it isn’t in-house but a commercial or open-source project. Why? Because you don’t know what logging API the guy who uses your application wants to use and pinning him to log4j oder java-logging then isn’t a good idea. Putting the question where it needs to be answered, not answer it for other people is the way to go.
Switching the logging API in a deployed application will happen exactly *never*. So that’s that. Move on.
September 3rd, 2005 at 10:24 am
that should have read: “the guy who uses your LIBRARY, not application”. Sorry.
September 3rd, 2005 at 7:17 pm
Wasn’t log4j in its early days an alphaWorks project? I was amazed to see how this guys at alphaWorks consider that little thing a ‘bleeding edge’ kind of project.
September 3rd, 2005 at 11:16 pm
“The only reason to ever use a logging api wrapper is if you write a library”
A library should not log anything. It should throw exceptions when things go wrong. Then developers that use your library and catch them and log them if they need to, even with their in-house logging API that no wrapper supports.
September 4th, 2005 at 10:12 am
Amen dude.
Libraries shouldn’t use a logging API to abstract the logging. Throw exceptions. If you really need to log, use a simple Logging class that can be turned on or off from code, and that outputs to the screen, because it will only be used during the development time. And using clogging as the base logging api ties the users of your library into another Logging API anyway. i.e. What if clogging doesn’t support some commercial logging package, now you have introduced another dependency that a developer must satisfy.
September 4th, 2005 at 11:19 am
All your log files are belong to me.
September 4th, 2005 at 4:58 pm
Hahah … why don’t we use VI instead of Eclipse?
September 6th, 2005 at 8:55 am
“Amen dude. ”
Please tell that to the Spring folks. I don’t want you (Spring, et al.) to “discover” anything. I don’t want you to log anything unless I tell you to!
September 6th, 2005 at 4:28 pm
I totally agree with you man. Frameworks should have the simplest logging include which allows you to tell it to print to an OutputStream, and which you can assign, be it System.out or a File. That it and it should be disabled by default except for only severe errors.
I hate using a framework and downloading three different jar files for logging and setting it up so that I can see what’s going on. It should be as simple as
Log.enableLogging(Level whatlevel);
and
Log.setOutputStream(OutputStream out);
or
Log.logToConsole(boolean log);
and
Log.logToOutputStream(OutputStream out);
September 6th, 2005 at 7:05 pm
tdak, you should speak at JavaOne about your logging thoughts.
September 7th, 2005 at 5:10 am
Apart from its nauseating vulgarity, Hani’s text is full of speculation and conjecture. Hani evidently made things up as he went along to sauce up the text. Most of his claims will be debunked by any reader who spends 5 minutes to go through the contents of the SLF4J project site.
Hani can write, but can he also read?
September 7th, 2005 at 9:58 am
I have a great idea. I’m going to write a little framework that abstracts away the differences between slf4j and commons logging. A meta-wrapper, so to speak, but I’m not known for being pedantic. I’m thinking of starting my own business to get rich with that. Would that work ?
Love,
Ilsa
September 7th, 2005 at 11:48 am
Log it home to daddy!
September 7th, 2005 at 12:36 pm
Read my thoughts on Logging in Applications.
http://www.jroller.com/page/tdak?entry=logging_in_your_application
September 7th, 2005 at 4:31 pm
what really gets me is people who use System.out for logging. if it’s diagnostics, use System.err. please don’t clog up the output of my program with your 99% useless, unintelligible spewage. thanks.
September 8th, 2005 at 12:00 am
Next to posting on TSS there is nothing that could be more desperate than linking to your own blog on Hanis miserable site. Bile on you!
September 8th, 2005 at 5:05 am
Logging using an API? That’s so last century. Just do it all with AO(P) – JBoss’ll show you the true way….
September 8th, 2005 at 8:49 am
tdak wrote “Libraries shouldn’t use a logging API to abstract the logging. Throw exceptions”.
tdak, you are a moron, as evidenced by your own blog suggestions.
Or maybe I’m wrong – perhaps it is unnecessary for me to be able to find out what SQL hibernate is executing against my database. How foolish of Gavin King not to just throw descriptive exceptions instead; what an idiot.
September 8th, 2005 at 11:29 am
I thought a log was something you left in a toilet.
September 8th, 2005 at 1:09 pm
It IS something you leave in the toilet. It causes clogging.
September 8th, 2005 at 2:00 pm
“tdak, you are a moron, as evidenced by your own blog suggestions.”
You’re a moron, as I explained earlier
“Frameworks should have the simplest logging include which allows you to tell it to print to an OutputStream, and which you can assign, be it System.out or a File.”
Frameworks should throw Exception in the situation where logging is disabled by the user.
Frameworks should not bind you to a specific logging API or abstract the logging API with another logging api.
So before you go nuts and spit out green shit out of your mouth, read all the comments and think about it and them make a decision.
September 9th, 2005 at 8:31 am
tdak wrote “So before you go nuts and spit out green shit out of your mouth, read all the comments and think about it and them make a decision.”
I did. You’re a moron.
September 9th, 2005 at 8:56 am
Lets continue this you’re a moron war.
So what you are saying is that because I express my opinion and you do not agree with me, I am automatically a moron. I could just go out and say that because I prefer to use JDO instead of Hibernate, everyone that use Hibernate is a moron. Of course I wouldn’t say that because people have their own opinions about things and I respect them.
As for using log4j in you app, I explained that it is a very trivial task to write a logging utility for your app, that you can customize for your own purpose, with adding more dependecies for your project. If you however like log4j or J2SE logging, go ahead and use it. I will not call you a moron if you prefer to use those frameworks. I just plainly suggest that in many cases it would be beneficial for your application to roll your own logging framework to save time, and provide for greater configurability from within your application.
September 9th, 2005 at 10:39 am
tdak wrote “So what you are saying is that because I express my opinion and you do not agree with me, I am automatically a moron”
No, I am saying this because your opinions are moronic.
tdak wrote “I explained that it is a very trivial task to write a logging utility for your app”
And it is even more trivial to use one that it is daily use in 1000s of applications and is very simple to use/configure.
It is likely that any production-quality software will need to have logging that does things like send SMSs, emails, create RSS log feeds on certain categories at certain levels – have certain categories directed towards certain files. Perhaps it is important that one particular category be logged extensively at trace level and thus to a different file (on a larger disk).
Anyone that thinks that it is only important to log exceptions or warnings has clearly never dealt with front-office types wanting to know why your FX-trading system has just sent out a questionable rate and why they are X million dollars down.
Your blog suggests that no-one is likely to let you near such a system. This is because you are a moron. It’s now your turn.
September 9th, 2005 at 11:26 am
Chris, you and the other guy are talking about two different things: You are talking about enterprise requirements of trading systems requiring a widely accepted, easily configurable, very extensible logging framework. The other guy is talking about logging for the online rowboat rentals on Lake Wenatchee, for which log4tdak works just great.
To even the playing field I’m gonna sentence tdak to open-source his 2-3 hours of work so that TSS may be his judge …
September 9th, 2005 at 12:26 pm
Thanks Judge Java for clearing it up for Mr. Chris Marshal.
September 9th, 2005 at 12:55 pm
Hi Judge Java – this would be a fair point, except that tdak wrote in this thread:
“Libraries shouldn’t use a logging API to abstract the logging. Throw exceptions. If you really need to log, use a simple Logging class that can be turned on or off from code, and that outputs to the screen, because it will only be used during the development time”
Now Hibernate is a library. As are things like APIs provided by multi-platform FX trading systems (Currenex, FXall). As is OpenSymphony Quartz, OSWorkflow. As is Sun’s JavaServer Faces API/Implementation.
When I write the applications I write, I am glad that these library authors took time out to implement logging properly (and extensively) with a standard, well-understood framework. I am glad that they did not:
1) Not bother to log anything.
2) Throw exceptions instead of log statements (!)
3) Only log warnings/exceptions
4) Each have their own specific logging systems.
So he was talking about libraries – he didn’t say “in the pissy little programs that morons like me write”.
September 9th, 2005 at 12:57 pm
…he didn’t say “in the pissy little programs that morons like me write”
I am willing to concede that he should have said that.
September 9th, 2005 at 3:52 pm
Again, I have to correct you Mr. Chris Marshal.
First do not put words in my mouth.
Secondly, when I say frameworks need to use simple logging stuff, instead of bind developers into another framework, I mean that logging should be simple or even hidden from the developer. The developer should have the option to turn in on programmatically, and direct the output of it programatically. If you want your logs to be sent to an email, its not hard to write some code to send the output in an email.
If you like log4j, use log4j. I am not making you switch, nor am I making fun of you for not switching. I am simple stating my point. And because you feel that you need to prove your point by calling everyone a moron, I think you should see a shrink or someone in that capacity.
So before you go around accusing everyone of being stupid, think about how it makes you look when all that people see in your post is “this guy is a moran, this idea is stupid, I am the smartest dude in the world, everyone is dumb”.
This a my last post. I will not bother with responding to your incompetent insults.
September 10th, 2005 at 8:56 pm
Programmers (at least plenty here) don’t give logging the consideration it deserves. Take a look at systems administration guides to get what I mean. Companies spend good money (and it is money well spent) parsing and summarizing logs from their many hundreds of machines. Its nice to be notified that something is wrong rather than find out when your program just lost a slew of data or doesn’t match up to some paper report!
It is *very* important to know what a system is doing, when it is doing it, and have a good idea of the logic that got it to that point. If you are running a server-side program, then obviously console logging isn’t going to cut it, and you may very well want the output going to e-mail, rss, file, etc. Maybe even at the same time.
Rolling all of this yourself is trivial, yes, but its also yet another thing for a new person on the project to learn. Yet another couple days (which depending on your salary could add up for your company) spent programming something, and several more debugging (yes, you are going to write bugs into trivial code, we all do). Sounds like “Not Invented Here” syndrome.
I’ll assume that throwing exceptions instead of logging was a complaint about grossly undetailed exception reports, with which I can agree. However, exceptions cannot always report the logical series of events that led up to it (especially if you started on the path to that exception in a method call 30 minutes ago). This is where logs come in.
Hibernate, for example, does use simple logging stuff. I go to lo4j.properties, change a line from “warn” to “debug” and I’m done. It doesn’t get much simpler than that.
Heh, though the proliferation of logging frameworks is certainly amusing!
September 11th, 2005 at 12:28 am
Just another thought, I wish Java 1.4 had come with logging abstraction API so that all other loggers could implement it and there would not be a need for clogging or slf4j stuff. They should have provide a set of interfaces for the logging frameworks to implement and a set of classes (as SPI) that would perform low level output to whatever stream a logging framework specifies, with some optimizations done for the output to the console.
September 12th, 2005 at 5:23 am
tdak wrote “Again, I have to correct you Mr. Chris Marshal. First do not put words in my mouth.”
tdak, I quoted you verbatim in my post.
tdak wrote “… when I say frameworks need to use simple logging stuff, instead of bind developers into another framework, I mean that logging should be simple or even hidden from the developer”
But that is not what you wrote originally – you have just changed your argument as you have realised how moronic it was.
How is changing a line in an XML property file from warn to debug not simple for a developer? Read Thomas’ post carefully – sensible and thoughtful comment about logging in the real world.
September 12th, 2005 at 3:31 pm
Guys please keep fighting. I am expecting a better show after I grab my beer.
- you don’t know me
September 12th, 2005 at 3:43 pm
This is indeed and literally an exceptional logging discussion.
-You don’t own me
September 12th, 2005 at 4:30 pm
Guys, I’m running out of silly ideas for the TSS homepage. Is there any hopelessly fucked up and doomed open sores logging framework, preferably done by a single guy in Elbonia, that I could announce on the front page as the next big thing with my famous “Guys, what do you think, is this gonna change the world, what are the pros and cons?” rhetoric?
Thanks, and remember – you don’t know me.
Jo’
September 12th, 2005 at 4:32 pm
You don’t know me either.
September 12th, 2005 at 6:11 pm
However we resolve the ‘detailed logging is good’ discussion (I require this and I can show you a closet full of dead developers to prove it), it seems to me that the world does not need a new way to log.
Which I think was the point Hani was trying to make by blogging this one … if he had any goal beyond entertaining me. And I’m sure we can all agree that he doesn’t need any goal beyond that.
The important point is, we still no bile on Lotus Notes. I’m losing hope.
But hey – that’s what the BileBlog is all about !
September 12th, 2005 at 8:29 pm
Yes. Bile on Lotus Notes is a splendid idea. We use Notes at work, and it is shit. Slow, crashes half the time with ambiguous errors, and totally not user friendly. Since when an ‘email message’ became a ‘memo’. And don’t even get me started on lotus notes webmail interface. what a pile of dump.
September 13th, 2005 at 12:21 am
I think it’s great that we have yet another clogging framework…it makes for a good rant from Hani. Besides, if one is good, that means two is better, right?
Actually I’ve never understood Hani’s rants about clogging. There is really nothing wrong with it except maybe its auto-discovery mechanism. It’s actually very useful in an environment with lots of third-party libraries.
In fact if Sun would have just implemented what commons-logging did, rather than the abomination that is Java logging, we would all have been better off.
But then we wouldn’t have Hani’s clogging rants…so I guess it’s OK. More logging frameworks and test frameworks and build systems for everyone!!!
September 13th, 2005 at 1:44 pm
All you bitches need to read this carefully!!
Jesus wept.
I don’t mean the ?Jesus wept? bit that’s in the Bible, that verse every kid wants to memorize in Sunday School so he gets credit for remembering something ? I mean, the guy sat in the dirt and bawled his eyes out. Sprang a leak. Cried like a girl.
He showed up on a Tuesday, see ? He figured that hey, Tuesday was a good day for it, since most people had a chance to recover from Monday, and they’d be paying attention to the tube like good little zombies. Monday was a bad day, because even though people might appreciate the Second Coming just in time to rescue them from a bad week at work, some of them would be trying to get over partying from the weekend. Wednesday would just interrupt the flow of the week, so that’s out ? Thursday, well, by then people were anticipating Friday, and Friday wouldn’t do at all.
After all, ?thank God it’s Friday? was a common enough expression as it was. No need to add emphasis there.
So Tuesday it was! Jesus figured he’d do the unexpected and fulfill what people thought He’d do, showing up in a great white arc of light somewhere from the middle of Orion’s belt. Some people felt like they’d predict that He’d do just that, trying to make sure that He actually wouldn’t (because the prophecy was that He’d do the unexpected, which itself set an expectation to be denied.)
So that glorious Tuesday, Jesus rode a beam of light out of the Heavens, competing with the Sun in brightness and glory. In fact, ?competing? is the wrong word. He trounced the Sun. The Sun might as well not have bothered, except for the fact that it gave out heat as well as light ? Jesus left heat to other heavenly (or not-so-heavenly) bodies, if you know what I mean.
Down He rode, to the surface of the earth, making great curves in the sky, like some celestial windsurfer. There wasn’t a place on the earth that couldn’t have detected His descent, just like the prophecies said. If He was going to show up, well, He was going to make an impression.
When His feet touched the earth ? for the first time in well over two thousand years ? He had to admit that it was a little quiet. He expected throngs of people, on bended knee, chanting or screaming or clapping. He wasn’t really into the rock star thing, despite his longish hair and hippie beard, but hey ? arrivals like this just didn’t happen every day. A little overwhelming appreciation would have been cool.
Maybe humankind was a little jaded ? after all, they’d had Seinfeld, the New York Yankees, a few really big wars and lots of tiny little ones, plus they still had to get over Paris Hilton. It made sense that His Arrival might not make the splash as originally expected.
So Jesus waited a little bit ? maybe thirty minutes. Maybe people were just cautious.
Then He realised that things had changed a little. For one thing, it wasn’t just quiet ? it was silent. No motors in the distance. (And He had good ears.) No birds in the trees. No sheep in the fields. Nothing.
He then started paying a little more attention to His surroundings. Sure, he was wearing a robe and some sandals ? but it was cold. Really cold. Cold enough to wonder why there wasn’t a lot of snow.
So Jesus figured that, given his status as the Son of God and all, He’d see what was up. Hit a few population centers, ask people what the H-E-double-hockey-sticks was up. First stop was Los Angeles ? Jerusalem was where the action was, to be sure, but Jesus didn’t want to wreck a cool first impression by showing up just to ask questions first. And the Los Angelenos surely needed a good dose of Jesus.
Los Angeles was empty. Known for a slight lack of precipitation or inclement weather, Los Angeles had nobody in it. At all. Nothing. Nada.
Jesus figured maybe they’d all hopped down to San Francisco, for Gay Pride week or something, maybe just to see the Bridge. Why not, He reasoned. He’d not seen it with his own eyes recently, might as well check it out. So San Francisco was next.
He had a little trouble finding it. He knew where it was, of course… but it wasn’t there. ?I’m having an Alderaan moment,? he thought, ?where I’m wondering where the heck my planet went.? San Francisco was rubble.
Jesus was now a little upset. Sure, He was a little late, but where were the people? So it was time to bop off to New York, because even a city converted to rubble wouldn’t prevent the New Yorkers from crowding out Times Square.
Times Square was like most of San Francisco: converted to very, very high-priced rubble. Empty high-priced rubble.
Jesus then decided that it was time to drop the benevolent prophet routine, and switch to God mode. Time to search the place, find out where the people had gone. It’s one thing to come back and not be overwhelmed with responses; it’s another to come back and have all your people miss everything.
London: gone. Berlin: empty. Istanbul: rubble. Tokyo: gomi. Warsaw: trashed. (Not a lot of difference, there.) Amsterdam: toast. Toledo: abandoned. Miami: not a swimsuit in sight. Rio de Janeiro: silent. Paris: abandoned, but in perfect condition. (This wasn’t too surprising: maybe the French had surrendered it again.)
Rome: populated only by ghosts. Jerusalem… the top of the mountain, pounded flat.
Jesus was starting to get the picture. He decided to kick in his omniscience and figure out what was going on.
He was too late. Three years before, He missed a great light show as humans went after each other with the best weaponry money could buy ? and often succeeded. He watched the end of the human experiment in living colour, with no winners ? only lots of losers. Einstein had been wrong.
Professor Einstein had said that World War III would be fought with weaponry he might not have understood, but World War IV would be fought with rocks and clubs. Apparently he underestimated how efficiently WW III would go ? there would be no WW IV, unless it was fought by the descendants of what little bacteria survived to evolve.
So Jesus returned to the hill outside of where Jerusalem had stood, alone as mankind had felt while he was on his rather extended vacation. And wept.
September 13th, 2005 at 2:15 pm
I don’t know me.
September 13th, 2005 at 4:05 pm
Shoulda tried Australyer, mate !
Plenty of sheep out there and lots of little dark-skinned dudes digging the new Dream Time.
‘Course they do scrap some.
Why do we have to add the numbers to post ? I don’t like the numbers, Hani ! Don’t make me add the numbers ! Not the numbers again !
Dave … I’m afraid …
September 13th, 2005 at 9:19 pm
Fuck, how I hate Spring. What a bloated piece of shit. It’s more complex than the other crapola it claims to replace. And somebody ought to tell the Spring folks about loose coupling. They eat their own shit everywhere. I don’t think there’s a single class that doesn’t import at least 20 other Spring classes. And each and every class implements between 20 to 40 interfaces, and has on average 15 super classes. I feel like getting a very large Rwandan machete and just cutting that entangled mess of spaghetti design down to the last meat ball. Either that, or cutting that penile inspired Rod Johnson (still cracks me up) into little pieces for his crimes against software development.
Well Hani, if you won’t bile the utterly craptastic Schpreeng Framewerk, I must.
September 13th, 2005 at 11:46 pm
Hani: Ceki’s right.. reading through the slf4j docs show that some of your statements are completely wrong. I think that either a retraction / correction / apology is in order.
Tdak: Dude… you’re a moron. Sorry man.
September 14th, 2005 at 11:55 am
Bren Zen: you’re a moron, because calling people stupid look at yourself in the mirror and realize that you have a huge wart growing on your face that you thought up till now was your nose.
September 14th, 2005 at 2:09 pm
tdak – Yer wallowing in crapulence, son! Best show the white flag! Whose yer daddy?
September 15th, 2005 at 2:25 am
Tdak, I’ve read through you’re whole blog. I think you’re enthusiasm is admirable, but you’re severely lacking in experience. You’re in high school right? Stick at it man, and maybe wait till you know a bit more before you start blogging to the world about it… you’ll probably get flamed less :)
Peace.
September 15th, 2005 at 8:01 am
tdak is entirely clueless. Obviously. Best to bend over and take it where you need it and I belong on home inspiration but wheelies on veruca and shitting is still good for your aunty’s favourite tea-cup.
Anyway, tdak will probably go away for good after he’s read my pencil lead leaving home for the latest offering on the other side of California strawberry picking is so bad for your back.
I can’t seem to stay relevant or on-topic but I’ll keep trying until a second World War U-boat throbbing demands the turn-ups on my monitor and steerable clothing is skimmed off the top of the internet’s soft central Hundertwasser framoravulistic moronicpfffftthhhhhh.
Oh, fuck it. I give up.
September 15th, 2005 at 1:55 pm
Waffel McMammal, I told you to stay away from the glue!
September 16th, 2005 at 5:43 pm
To all the fucks who keep calling me a moron or a highschool student. I don’t see you’re thoughts on this issue in your blogs, hell you don’t even have blogs. All I can tell from you’re posts that you are a bunch of middle aged, nothing to look forward to in life, living in you’re momma’s basement for the past 24 years people, that like to pretend that you know everything and all about computing and software development. Why don’t you shut the fuck up, and go watch some videos on persiankitty.com or some other such site, and let the ‘highschool students’ do the real work.
Oh yeah if you want to keep insulting me with your childish insults, remember that you can’t loose all your fat by exercising your fingers on the keyboard. So why don’t all of you go for a run or jog. Lady’s Like Cool Jay not Fat Jay.
lol. all your ideas is mine. lol
September 19th, 2005 at 4:48 am
An impostor wrote “To all the fucks who keep calling me a moron or a highschool student”
Your IP address seems to have undergone a significant change. tdak may be a moron, but at least he isn’t a wanker like you, whoever you are.
September 22nd, 2005 at 12:46 pm
Ahh, good one Chris, righteously exposing the frauds on the BileBlog. Keep up the good work, I’m sure it’s appreciated by the readers here. We care.
October 7th, 2005 at 11:53 am
Taking more than 3 hours to decide about logging is sick.
However Log4J was good.
I agree with Ceki Gülcü that JCL is bad.
Most opensource project use JCL, JCL is not safe when used in conjunction with classloader. I have been fighting with it in an eclipse application.
http://www.qos.ch/logging/classloader.jsp
Result : If you have this kind of trouble, the solution can be to “patch” JCL to the appropriate implementation (or expect the opensource project you are using not to use JCL at all).
I can’t tell if slf4j is any better.
If any opensource project adopt slf4j, the worst nightmare would be the need for a facade of facade API integrating JCL, Slf4J, or any JCL-like API that Sun will add to java…
When logs gets in your way while developping, it is really that something has gone bad.