log4j.debug

log4j.debug

I don’t know how many times my logging configuration has failed me (or have I failed it?):

log4j:WARN No appenders could be found for logger (…).
log4j:WARN Please initialize the log4j system properly.

This simple Java VM option definition helps me to solve the problem:

-Dlog4j.debug

Just add it to the VM’s command-line and Log4j reports where it’s looking for its configuration information and what it’s doing with it:

log4j: Trying to find [log4j.xml] using context classloader WebappClassLoader
delegate: false
repositories:
/WEB-INF/classes/
———-> Parent Classloader:
org.apache.catalina.loader.StandardClassLoader@4c4975
.
log4j: Trying to find [log4j.xml] using WebappClassLoader
delegate: false
repositories:
/WEB-INF/classes/
———-> Parent Classloader:
org.apache.catalina.loader.StandardClassLoader@4c4975

log4j: Using URL [file:/C:/apache-tomcat-6.0.16/webapps/ROOT/WEB-INF/classes/log4j.properties] for automatic log4j configuration.
log4j: Reading configuration from URL file:/C:/apache-tomcat-6.0.16/webapps/ROOT/WEB-INF/classes/log4j.properties
log4j: Parsing for [root] with value=[INFO, stdout, logfile].
log4j: Level token is [INFO].
log4j: Category root set to INFO
log4j: Parsing appender named “stdout”.
log4j: Parsing layout options for “stdout”.
log4j: Setting property [conversionPattern] to [%d %p [%c] – %m%n].
log4j: End of parsing for “stdout”.
log4j: Parsed “stdout” options.

Which frees me to either tell it to look elsewhere or change where I have placed the file.

September 2, 2008 at 2:07 pm Leave a comment

Kawasaki Face-Slapping Quotes

Kawasaki quotes about entrepreneurs…

Perfectionists are losers.

90% of Xers will never make money Xing. (Substitute what you do for “X“.)

Why do I enjoy listening to and reading him? :-)

August 13, 2007 at 8:12 am Leave a comment

Successful Blogs

What makes a “successful” blog? My company’s looking at starting a corporate blog, so the topic recently came up.

Plenty of folks have written articles and books on the topic. But, if you subscribe to the notion that customers know what they want and those that listen to them can build winning businesses, then you and I know a lot about building a good blog.

Here’s what gets me to add a blog to my reader:

  • Relevance: If what you’re talking about matters to me, I might want to hear more from you.
  • References: If I’ve followed an interesting reference or link to your blog a few times, or the same article was referenced by multiple bloggers, then I’ll probably just go ahead and add it to hear directly from you next time.
  • Regularity: Are you going to offer me something interesting on a regular basis? If so, then it’s worth getting to know you.

But I’ve only got so many hours in a day. It takes time to scan headlines and decide what’s worth reading. If you’re blogging on topics that are old, dead-ends, or just plain wrong, then you’re really wasting my time. Blogging is a free market, and the supply of my time is less than the demand of all the blogs in the world.

So, when I need to weed out the blogs, I keep a few things in mind:

  • Noise: If you’re posting irrelevant information, or your postings are too random, I’m probably going to drop you. I don’t know what I’ll get next.
  • Rants: If you’re opinionated beyond reason, I don’t have time for you. I have plenty of my own opinions :-) .

As I reflect on these benchmarks, it strikes me that they’re personal. But I suspect they’re not far off from much of the population.

Do I do these things? Not really. I’d probably never add myself to my blog reader! Some of that’s intentional. For instance, I’ve avoided making my blog public because I wanted to build some good habits before establishing a public presence.

So maybe the first step in building a winning blog is to be regular about posting. Perhaps I can carve out about 30 minutes a day to dump my latest thoughts. The first step to building a winning blog? Maybe. Stay tuned…

May 22, 2007 at 4:36 pm Leave a comment

Navigating WS-*

Dan Diephouse has performed a wonderful public service by penning Navigating WS-*.

While it’s missing a few topics — who wouldn’t expect that from an 19 page summary of the behemoth that is SOAP Web Services — it’s a great overview of the whole mess.

(To get a sense of WS’ scope, download innoQ’s great Web Services Standards Overview poster.)

May 15, 2007 at 8:24 am Leave a comment

Software Architecture

What is a “software architect” anyway? And how do individuals and organizations get better at software architecture?

Paul Clements of Carnegie-Mellon’s Software Engineering Institute looked at these issues in “Measuring and Improving Architecture Competence,” a presentation in IASA Architecture Thinking Series sponsored by Microsoft.

Points along the way:

  • Clements’ team conducted a survey of broadcast, training & educational, and “architecting for a living” sources. He focused on what people say software architecture is rather than debating what it should be in order to develop a model of duties, skills, and knowledge was developed
  • Communication — listening, writing, speaking — and interpersonal skills — leadership, patience, and politics — are critical capabilities
  • As one might expect, training & educational sources values that differ with “architecting for living” sources
  • Architects should be “jacks of all trades” who can readily identify a solution that they’ve previously applied to a similar problem previously
  • Competence is: Carrying out duties, having the skills, knowing the knowledge

It was interesting to note that this talk was targeted — both by time of day and also through side comments — to India’s software organization.

An archived version of the presentation is supposed to be available from the IASA web site later this week.

March 29, 2007 at 7:01 am Leave a comment

Buildix: Project In A Box

Buildix is development project infrastructure in a box. Just add a virtual machine :-) .

Thoughtworks, the ubiquitous IT consultancy with whom Martin Fowler is associated, sponsors this collection of pre-integrated and ready-to-roll project management tools.

Technologies include:

  • trac Edgewall’s open-source “Integrated SCM and Project Management” (Subversion + Wiki + defect tracking)
  • Subversion the open-source next-generation to CVS
  • CruiseControl open-source build automation

Pros

  • Works right out of the box. To run on Windows, download vmWare Player and the Buildix image, launch, and point your browser to the virtual IP address created by the VM.
  • Promised integration features are nice (e.g., linking to defects by id from Wiki entries)

Cons

  • As you’d expect, you’re stuck with the versions of the tools that they have chosen to pre-integrate. If you want to upgrade, you’ll need to work out any conflicts yourself (and you won’t have the benefit of the hard-won knowledge gained by integrating them in the first place.
  • Documentation to back up some of the promised integration benefits (e.g., wiki syntax to link to issues, check-in syntax to tie to a particular issue) is difficult to find.

Recommendation

Worth a look if you would like to upgrade your project development infrastructure. Particularly useful to J2EE development, but also for anyone who can use ant to automate product builds.

I’m in the process of using it for a pilot project and will post any learnings along the way.

March 7, 2007 at 11:03 am Leave a comment

Writely Worth A Look

The flood of “Web 2.0 / Ajax” applications fails to abate, but the first wave of “obvious” applications crashed ashore about two years ago. The interesting ones have been either lionized as success stories (e.g., 37signals’ Basecamp, Backpack, Ta-Da Lists, and now Campfire) or absorbed by entities with fat wallets (e.g., Yahoo’s acquiring Oddpost’s rich e-mail client).

If you haven’t had a look at an on-line document editing solution, you might want to take the time to look at Writely. Aquired by Google six months ago, and still “62% beta”, it’s slowly being merged into the Google infrastructure. Soon you’ll be able to log in using your Google account.

Writely boasts a variety of nice features for personal or group use. Besides simple, clean rich document editing features, it makes it easy to share documents, post them to your blog (such as this one), or collaborate “live” (e.g., collaboratively collect notes during a business meeting).

Being owned by Google doesn’t give privacy advocates or employees much comfort about the disposition of their documents (the “revisions” feature and background autosaves should give Chinese dissidents or Enron 2.0 executives nightmares) and the thought of posting sensitive company information to a publically accessible site should cause you to pause. But the application is well-executed and allows you to do things that you couldn’t do with Microsoft Word. It’s worth a look.

September 20, 2006 at 2:18 pm Leave a comment

Wonderful WebMonkey Tools

If you’re ever forced to play WebMonkey (as I sadly am, at times), here are a few life-saving, must-have gadgets:

  • Firefox (of course, you still need IE and possibly Opera to test for compatibility)
  • www.csszengarden.com for inspiration
  • Greg Taff’s Live CSS editing in-browser (rendr2)
  • Chris Pederick’s Swiss-Army knife for the web… Web Developer Extension (I swear that there’s a tweazers in there somewhere ;-)

June 13, 2006 at 8:32 am Leave a comment

ajaxpatterns.org

ajaxpatterns.org is a great, community contributed wiki site. It started from the O’Reilly Ajax Design Patterns book, but it’s grown well beyond that.

Although it’s filled with, well, Ajax design patterns as one would expect, it’s also got plenty of coding examples and links to handy resources.

Probably the best contribution is a unified view of design pattern terminology. Sometimes just being able to assign a nice, generally accepted name to a technique is priceless.

June 13, 2006 at 7:55 am Leave a comment

Is “Asynchronous” Really Used in Ajax?

Great question posed by Ajaxian.

Although I find myself using Ajax primarily for “Periodic Refresh” (e.g., instant messaging-like polling), my main usage to date has been to send data to or effect change on the server. Not quite “fire-and-forget”, but more “fire-and-when-the-server-acknowledges-then-update-the-screen-acccordingly”.

June 13, 2006 at 7:46 am Leave a comment

Older Posts


 

February 2012
S M T W T F S
« Sep    
 1234
567891011
12131415161718
19202122232425
26272829  

Recent Posts

What I'm tagging...


Follow

Get every new post delivered to your Inbox.