package deleteme; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; public class DeleteMe { @SuppressWarnings("unchecked") public static void main(String[] args) throws Exception { sayHello(); } private static void sayHello() { getLogger().warn("Hello"); getLogger().fatal("World"); } private static Logger getLogger() { if (logger == null) { //do this once, globally, not harmful to do it more often, just not needed try { File config = new File("logger.properties"); InputStream is = new FileInputStream(config); PropertyConfigurator.configure(is); } catch (Exception e) { throw new RuntimeException(String.format("Crap.. log initialization failed! %", e.getLocalizedMessage()), e); } logger = Logger.getLogger(DeleteMe.class); } return logger; } private static Logger logger = null; }