logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jacob Kjome <h...@visi.com>
Subject Re: How do I do to change the properties file for log4j intoanother directory?
Date Thu, 06 Nov 2003 23:21:59 GMT

You need to look at my code closer.  "context" is a ServletContext.  You 
can use it to access stuff anywhere in the webapp.

URL url = context.getResource("/WEB-INF/config/log4j.properties");
PropertyConfigurator.configure(url);

And, of course, you can also use the InputStream way if you want, but the 
URL way is a bit simpler.

One thing to note.  In my original code, I had forgotten to prefix WEB-INF 
with a "/".  That is fixed in the code above.

Jake

At 09:59 AM 11/7/2003 +1100, you wrote:
>Jake,
>
>Putting the properties file under /web-inf/config is what I really
>wanted to achieve, but I am not be able to make it work. I uses the
>following to initialised the log4j package.
>
>
>
>package com.log;
>
>import org.apache.log4j.*;
>import javax.servlet.http.HttpServlet;
>import javax.servlet.http.HttpServletRequest;
>import javax.servlet.http.HttpServletResponse;
>
>
>public class Log4jInit extends HttpServlet {
>
>
>     public void init() {
>
>   String servletContainer = getServletContext().getRealPath("/");
>
>      // The exact path to the config file is in servlet mapping
>      String file = getInitParameter("log4j");
>      Logger logger = Logger.getLogger(getClass());
>
>      // if the log4j-init is not set, then no point in trying
>      if (file != null) {
>
>      BasicConfigurator.configure();
>      BasicConfigurator.resetConfiguration();
>   PropertyConfigurator.configure(servletContainer+file);
>
>      // Sent into to system.log
>      logger.info("Logging system initialised successfully");
>
>      }
>
>
>     }
>
>     public void doGet(HttpServletRequest req, HttpServletResponse res)
>{
>     }
>
>}
>
>I uses the following for my database properties which I have no luck in
>getting it to read /web-inf/config too:
>
>Properties Prop = new Properties();
>        try {
>
>           InputStream configStream =
>getClass().getResourceAsStream("/config/database.properties");
>        Prop.load(configStream);
>           configStream.close();
>
>        } catch(IOException e) {
>
>       System.out.println("Error: Cannot laod configuration file ");
>          }
>
>Do you have a sample code that works? Thank you.
>
>
>TJ
>
>
>
> >>> hoju@visi.com 06/Nov/2003 04:33:59 pm >>>
>At 11:29 AM 11/5/2003 +1100, you wrote:
> >I am using the Log Tag Library 1.0 from Jakarta Project.
> >
> >In the Installation document, it suggest that in order to initialize
> >Log4j automatically, the log4j.properties file will have to be placed
>in
> >/WEB-INF/classes.
> >
> >How could I put the log4j.properties file in /WEB-INF/classes/config
> >directory? What do I have to do?
> >
> >Thank you.
>
>If you are going to create a "config" dir, why not do it directly under
>
>WEB-INF rather than where classes are put?  You can load up an input
>stream
>using context.getResourceAsStream("WEB-INF/config/log4j.properties")
>and
>feed that info a Properties object, then send that into
>PropertyConfigurator.configure(Properties) or load up a URL using
>context.getResource("WEB-INF/config/log4j.properties") and send that
>info
>PropertyConfigurator.configure(URL).
>
>Of course you can still do this even if you leave the "config"
>directory
>under "WEB-INF/classes" and use the same technique above.  Whatever you
>
>feel comfortable with.  I just like not cluttering my classpath with
>non-classes.
>
>Jake
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: log4j-user-unsubscribe@jakarta.apache.org
>For additional commands, e-mail: log4j-user-help@jakarta.apache.org
>
>
>
>
>IMPORTANT -
>
>This email and any attachments are confidential and may be privileged in 
>which case neither is intended to be waived. If you have received this 
>message in error, please notify us and remove it from your system. It is 
>your responsibility to check any attachments for viruses and defects 
>before opening or sending them on. Where applicable, liability is limited 
>by the Solicitors Scheme approved under the Professional Standards Act 
>1994 (NSW). Minter Ellison collects personal information to provide and 
>market our services. For more information about use, disclosure and 
>access, see our privacy policy at www.minterellison.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: log4j-user-help@jakarta.apache.org


Mime
View raw message