001 package com.oxygenxml.validate.nvdl.util; 002 003 import java.io.ByteArrayInputStream; 004 import java.io.IOException; 005 import java.util.Enumeration; 006 import java.util.Properties; 007 008 import org.apache.log4j.Logger; 009 import org.apache.log4j.PropertyConfigurator; 010 011 /** 012 * Checks if the root category from the log4j.properties is configured. If it is 013 * not, the root category is put on the error level. 014 * 015 * 016 * @author mircea 017 * @created Feb 18, 2003 018 * 019 */ 020 public class Log4jChecker { 021 022 /** 023 * Checks if the root category from the log4j.properties is configured. If it is 024 * not, the root category is put on the error level. 025 * 026 */ 027 public static void checkLog4j() { 028 Logger logger = Logger.getRootLogger(); 029 Enumeration appenders = logger.getAllAppenders(); 030 if (appenders == null || !appenders.hasMoreElements()) { 031 String propertyString = 032 "log4j.rootCategory=error, R\n" 033 + "log4j.appender.R=org.apache.log4j.ConsoleAppender\n" 034 + "log4j.appender.R.layout=org.apache.log4j.PatternLayout\n" 035 + "log4j.appender.R.layout.ConversionPattern=%d{HH:mm:ss,SSS} %r %p [ %t ] %c - %m%n"; 036 037 Properties properties = new Properties(); 038 try { 039 properties.load(new ByteArrayInputStream(propertyString.getBytes("UTF8"))); 040 } catch (IOException ioe) { 041 ioe.printStackTrace(); 042 } 043 PropertyConfigurator.configure(properties); 044 } 045 } 046 047 }