I changed to use Log4j.xml from Log4j.properties and also changed to non-static loggers and with in the static methods followed the link examples. Now the logging is taking place only for the loggers mentioned in the static methods, Log log = LogFactory.getLog("pcs"); pcs is the log file name.
Any idea as to why the non static logger is not working! thanks, Sohan Jacob Kjome wrote: > > > 1. Use non-static loggers (for Serializable classes, you'll need to > mark these as transient) > 2. Avoid Classloader-based repository selectors. Use JNDI-base > selectors. There's already one written for Log4j-1.3alpha. Even if > you don't care to use 1.3, you can use it to get an idea of how to > write one for 1.2. > > > See: > http://www.qos.ch/logging/sc.jsp > http://wiki.apache.org/jakarta-commons/Logging/StaticLog > > > Jake > > At 03:09 PM 4/9/2007, you wrote: > > > >I followed some examples on the web to use RepositorySelector to > implement > >separate logging for 2 applications deployed on the same instance of > >weblogic server. I have the Lgo4j.properties file under Web-Inf/ folder, > >This is loaded through web.xml file through a startup servlet. Problem > is > >logging is taking place either in Log4j.log file or other applications > log > >file. In each java class file, I use.. > > private static Logger log = Logger.getLogger(LoginFilter.class); > >and call the log .info ..accordingly. In log4j properties file, only > >difference is file name for 2 applications. > > > >I am using weblogic 8.1.6 and Log4j 1.2.8 versions > > > >thanks for the help > >Sohan > > > >web.xml entry... > > > > <servlet> > > <servlet-name>log4j-init</servlet-name> > > <servlet-class>pcs.common.util.Log4jInit</servlet-class> > > <init-param> > > <param-name>Log4JProperties</param-name> > > > <param-value>/WEB-INF/log4j-dev.properties</param-value> > > </init-param> > > <init-param> > > <param-name>LogToFileOnly</param-name> > > <param-value>false</param-value> > > </init-param> > > <load-on-startup>1</load-on-startup> > > </servlet> > > > >public class Log4jInit extends HttpServlet { > > static Logger log = Logger.getLogger(Log4jInit.class); > > public void init() throws ServletException { > > > System.out.println("\n\n---------------Log4jInit---------------\n\n"); > > > MyRepositorySelector.init(this.getServletConfig()); > > Logger log = Logger.getLogger(this.getClass()); > > log.info("Log message from Log4jInit servlet"); > > System.out.println("\n\n---------------Log4jInit: > >Complete---------------\n\n"); > > > > } > > > >} > > > >public class MyRepositorySelector implements RepositorySelector > >{ > > private static boolean initialized = false; > > private static Object guard = LogManager.getRootLogger(); > > > > private static Map repositories = new HashMap(); > > private static LoggerRepository defaultRepository; > > > > public static synchronized void init(ServletConfig config) > > throws ServletException { > > if( !initialized ) // set the global RepositorySelector > > { > > defaultRepository = LogManager.getLoggerRepository(); > > RepositorySelector theSelector = new MyRepositorySelector(); > > LogManager.setRepositorySelector(theSelector, guard); > > initialized = true; > > } > > > > Hierarchy hierarchy = new Hierarchy(new > RootCategory(Level.DEBUG)); > > loadLog4JConfig(config, hierarchy); > > ClassLoader loader = > Thread.currentThread().getContextClassLoader(); > > repositories.put(loader, hierarchy); > > } > > > > public static synchronized void removeFromRepository() { > > > repositories.remove(Thread.currentThread().getContextClassLoader()); > > } > > > > > > private static void loadLog4JConfig(ServletConfig config, > > Hierarchy hierarchy) > > throws ServletException { > > try { > > > > String strLogProperties = > > > config.getInitParameter(GlobalDictionary.LOG_PROPERTIES); > > System.out.println("strLogProperties: " + > strLogProperties); > > Properties logProperties = new Properties(); > > try { > > > >logProperties.load(config.getServletContext().getResourceAsStream(strL > >ogProperties)); > > } catch (Exception e) { > > System.out.println("ERROR: Loading log4j > properties: " + > >e.getMessage()); > > //e.printStackTrace(); > > } > > PropertyConfigurator propConf = new > PropertyConfigurator(); > > propConf.doConfigure(logProperties, hierarchy); > > } catch (Exception e) { > > throw new ServletException(e); > > } > > } > > > > private MyRepositorySelector() { > > } > > > > public LoggerRepository getLoggerRepository() { > > ClassLoader loader = > Thread.currentThread().getContextClassLoader(); > > LoggerRepository repository = > >(LoggerRepository)repositories.get(loader); > > > > if (repository == null) { > > return defaultRepository; > > } else { > > return repository; > > } > > } > >} > >-- > >View this message in context: > >http://www.nabble.com/separate-log-files-for-application%27s-on-weblog > >ic-with-log4j-using-RepositorySelector-tf3549324.html#a9908677 > >Sent from the Log4j - Users mailing list archive at Nabble.com. > > > > > >--------------------------------------------------------------------- > >To unsubscribe, e-mail: [EMAIL PROTECTED] > >For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > -- View this message in context: http://www.nabble.com/separate-log-files-for-application%27s-on-weblogic-with-log4j-using-RepositorySelector-tf3549324.html#a9926589 Sent from the Log4j - Users mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]