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]

Reply via email to