You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@pivot.apache.org by JohnRodey <ti...@yahoo.com> on 2010/06/22 20:46:56 UTC

Help understanding classpaths/codebase with applets

So I'm still tryin to get Log4j all setup but keep running into road blocks. 
Now I'm running into issues where my knowledge of applets is lacking and was
hoping I could find some help.

Plan A) What I would like to do is have one log4j.xml configuration file
stored directly under my tomcat directory (In other words I don't want a
seperate log4j.xml file for each war that I have, I just want them all to
share one config file).  However I don't know how to give my applet access
to something thats not in the directory for the applet.
So directory structure like this:
tomcat
..log4j.xml
..webapps
....mypivotapp
....someotherapp

Plan B) If I can't do (A) then my startup script can make a copy of the
log4j.xml and put it directly in the mypivotapp directory.  Although looks
like by default the applet can't see it there.  Looking into the
codebase_lookup property shows that when this is false applets only use the
jars in their classpath.  Will enabling this help, documentation says that
there is a performance hit for doing so, which leads me to believe there are
better ways.

Plan C) My startup script could import my log4j.xml file into my jar file on
my classpath.  ex. tomcat/webapps/mypivotapp/lib/mylib.jar

The goal is to just need to edit one file to alter all logging.

Thanks!
-- 
View this message in context: http://apache-pivot-users.399431.n3.nabble.com/Help-understanding-classpaths-codebase-with-applets-tp914940p914940.html
Sent from the Apache Pivot - Users mailing list archive at Nabble.com.

Re: Help understanding classpaths/codebase with applets

Posted by JohnRodey <ti...@yahoo.com>.
Thanks for the replies.

I don't think the log4j.configuration env var helps me here much because I
want a single log4j.xml for all applications, not a different log4j.xml for
each app


Greg Brown wrote:
> 
> You'd need to regenerate your JARs for sure, but if your build script is
> set up right that shouldn't be a huge problem. For example, the last
> project I did used Ant to assemble the JSPs, applets, etc. into a WAR
> file. We simply ran "ant deploy" to regenerate the WAR and redeployed it
> to the server. Ant was also used to sign the JARs before putting them into
> the WAR file.
> 

What you describe is exactly what I do now in my build procedures however...
My issue here is that currently I have no build scripts that go with my
installable software.  After the software is installed someone may have
issues and need to turn the log level up (as an example).  They will have no
way to re-sign the jar after the xml update.

I think my current approach is to simply put a "template" log4j.xml in each
war that uses it during build time.  Then have certain fields (such as log
level) be a configurable property that gets passed to the applet and
overriden in code.  this is the only solution that I can think of that "may"
give me desirable behavior.  Will let you know how that works out.


-- 
View this message in context: http://apache-pivot-users.399431.n3.nabble.com/Help-understanding-classpaths-codebase-with-applets-tp914940p915277.html
Sent from the Apache Pivot - Users mailing list archive at Nabble.com.

Re: Help understanding classpaths/codebase with applets

Posted by Greg Brown <gk...@mac.com>.
> 2) What if I want to change the logging configuration?  I would need to A)
> extract the xml file B) Make my changes C) update the jar.  Now I will have
> issues with it being unsigned.  I would need to resign the jar.

You'd need to regenerate your JARs for sure, but if your build script is set up right that shouldn't be a huge problem. For example, the last project I did used Ant to assemble the JSPs, applets, etc. into a WAR file. We simply ran "ant deploy" to regenerate the WAR and redeployed it to the server. Ant was also used to sign the JARs before putting them into the WAR file.

> What do you think about this though?...  I have a jsp that starts my applet. 
> Could I have the jsp read the xml file, and pass the content in as an
> argument?  Is there any restrictions on length here?

You could probably do something like that, but it does seem a little clunky. Also, how would you pass the XML to Log4J? Unfortunately, I don't know enough about Log4J to know what might work best...  :-(

G


Re: Help understanding classpaths/codebase with applets

Posted by JohnRodey <ti...@yahoo.com>.
Thanks for the response.

I could add it before I sign it but there are a few reasons why I do not
want to do that.

1) I would like to have 1 config file that controls all logging on the
tomcat server.  Doing this will give a copy to each app running on that
server.

2) What if I want to change the logging configuration?  I would need to A)
extract the xml file B) Make my changes C) update the jar.  Now I will have
issues with it being unsigned.  I would need to resign the jar.

So this is not ideal but my be my only solution.

What do you think about this though?...  I have a jsp that starts my applet. 
Could I have the jsp read the xml file, and pass the content in as an
argument?  Is there any restrictions on length here?
-- 
View this message in context: http://apache-pivot-users.399431.n3.nabble.com/Help-understanding-classpaths-codebase-with-applets-tp914940p915111.html
Sent from the Apache Pivot - Users mailing list archive at Nabble.com.

Re: Help understanding classpaths/codebase with applets

Posted by Greg Brown <gk...@mac.com>.
When you set codebase_lookup to false (which unfortunately is the recommended approach, due to the way the JDK looks up service providers), any resources used by your application need to live in your application's JARs. How do you generate your JARs? Could you modify your build process to add the log4j.xml file to your main JAR before you sign it?

On Jun 22, 2010, at 3:40 PM, JohnRodey wrote:

> 
> It appears as though I have even more problems:
> 
> I sign my jars during build, and then my startup script can either copy the
> log4j.xml into a jar or I enable the codebase_lookup. This causes me to get
> a popup saying the application contains signed and unsigned code.  I would
> like to avoid this too.
> 
> What do people do if they want to edit a config file for their application
> if its signed?
> -- 
> View this message in context: http://apache-pivot-users.399431.n3.nabble.com/Help-understanding-classpaths-codebase-with-applets-tp914940p915063.html
> Sent from the Apache Pivot - Users mailing list archive at Nabble.com.


Re: Help understanding classpaths/codebase with applets

Posted by JohnRodey <ti...@yahoo.com>.
It appears as though I have even more problems:

I sign my jars during build, and then my startup script can either copy the
log4j.xml into a jar or I enable the codebase_lookup. This causes me to get
a popup saying the application contains signed and unsigned code.  I would
like to avoid this too.

What do people do if they want to edit a config file for their application
if its signed?
-- 
View this message in context: http://apache-pivot-users.399431.n3.nabble.com/Help-understanding-classpaths-codebase-with-applets-tp914940p915063.html
Sent from the Apache Pivot - Users mailing list archive at Nabble.com.

Re: Help understanding classpaths/codebase with applets

Posted by Greg Brown <gk...@mac.com>.
Nice! That's good to know.

On Jun 23, 2010, at 12:40 PM, JohnRodey wrote:

> 
> So just wanted to say that its working for me now.
> 
> I placed my log4j.xml in the ROOT project under tomcat.
> I pass an argument to my applet that defines the url of the log4j.xml.
> During initialization of my pivot applet I load the xml as a url using the
> code mentioned.
> 
> Thanks for all the help
> -- 
> View this message in context: http://apache-pivot-users.399431.n3.nabble.com/Help-understanding-classpaths-codebase-with-applets-tp914940p917324.html
> Sent from the Apache Pivot - Users mailing list archive at Nabble.com.


Re: Help understanding classpaths/codebase with applets

Posted by JohnRodey <ti...@yahoo.com>.
So just wanted to say that its working for me now.

I placed my log4j.xml in the ROOT project under tomcat.
I pass an argument to my applet that defines the url of the log4j.xml.
During initialization of my pivot applet I load the xml as a url using the
code mentioned.

Thanks for all the help
-- 
View this message in context: http://apache-pivot-users.399431.n3.nabble.com/Help-understanding-classpaths-codebase-with-applets-tp914940p917324.html
Sent from the Apache Pivot - Users mailing list archive at Nabble.com.

Re: Help understanding classpaths/codebase with applets

Posted by Greg Brown <gk...@mac.com>.
>> The question I have is - what do you do with the file after the GET? You'd
>> have to store it in the local file system and point Log4J to it before
>> your app actually starts up.
> 
> You can tell Log4j to load a config file by doing the following:
> LogManager.resetConfiguration();
> DOMConfigurator.configure(new URL("http://host:8080/log4j.xml"));

Oh. OK. Why don't you just do that?  :-)



Re: Help understanding classpaths/codebase with applets

Posted by JohnRodey <ti...@yahoo.com>.

Greg Brown wrote:
> 
> The question I have is - what do you do with the file after the GET? You'd
> have to store it in the local file system and point Log4J to it before
> your app actually starts up.
> 

You can tell Log4j to load a config file by doing the following:
LogManager.resetConfiguration();
DOMConfigurator.configure(new URL("http://host:8080/log4j.xml"));
-- 
View this message in context: http://apache-pivot-users.399431.n3.nabble.com/Help-understanding-classpaths-codebase-with-applets-tp914940p915504.html
Sent from the Apache Pivot - Users mailing list archive at Nabble.com.

Re: Help understanding classpaths/codebase with applets

Posted by Greg Brown <gk...@mac.com>.
>> The problem here is that it requires the use of the codebase, which John is
>> trying to avoid (there are some unfortunate side effects of the >way the JDK
>> performs service lookups when running in an applet that doesn't disable
>> codebase lookup - I filed a bug on it, but Sun/Oracle >never responded).

> With the codebase method you can compute an url for example
> "/pivotapp/applet-log4j.xml":

I know.  :-)  Unfortunately, because of how the JDK implements service lookups, using the codebase imposes a performance penalty. From the Pivot README:

"NOTE Pivot uses the StAX API to load and process WTKX source files. Like many
APIs in the JDK, StAX uses a service discovery mechanism to locate and
instantiate an appropriate parser. When deploying Pivot applications in a web
browser, this may incur unnecessary requests to the web server. The service
resolution process looks on the classpath for an appropriate service descriptor
file; since an applet's classpath also contains its codebase, the JRE will look
for this file on the web server if it is not found in an archive JAR. Such
requests can have a noticeable impact on runtime performance, especially for
slow or unresponsive web servers. As a result, it is recommended that all Pivot
applications deployed via the web set the codebase_lookup applet parameter to
false."

I did file a bug to Sun about this. As I recall, I had suggested a relatively simple fix. However, they never responded and I can't find the bug report now.  :-(



RE: Help understanding classpaths/codebase with applets

Posted by Alejandro Vilar <al...@synacom.com.bo>.
>The question I have is - what do you do with the file after the GET? You'd
have to store it in the local file system and point Log4J to it >before your
app actually starts up.

The file was a suggestion and is not required to store it in some place, I
was thinking more in a BufferedStream or something to configure Log4j with
an InputStream, as John mentioned it's also possible using an URL.

>The problem here is that it requires the use of the codebase, which John is
trying to avoid (there are some unfortunate side effects of the >way the JDK
performs service lookups when running in an applet that doesn't disable
codebase lookup - I filed a bug on it, but Sun/Oracle >never responded).

With the codebase method you can compute an url for example
"/pivotapp/applet-log4j.xml":

/Tomcat
  /unique-log4j-config.xml (<-- the real config file)
  /pivotapp
     /index.html
     /my-pivot-app.jar
     /applet-log4j.xml    (<-- this file doesn't exists)

And use a servlet combined with a filter or something else like this:

public class Log4JFileServlet extends HttpServlet {

    protected void processRequest(HttpServletRequest request,
HttpServletResponse response)
            throws ServletException, IOException {
        OutputStream out = null;
        try {
            String path = request.getServletPath();
            Pattern pattern = Pattern.compile("/applet-log4j.xml");
            Matcher matcher = pattern.matcher(path);
            if (matcher.find()) {
                response.setContentType("text/xml;charset=UTF-8");
                out = response.getOutputStream();
                File uniqueFile = new File("path-to-the-real-config-file");
                InputStream is = new FileInputStream(uniqueFile);
                byte[] buf = new byte[2048];
                int len = 0;
                while ((len = is.read(buf)) > 0) {
                    out.write(buf, 0, len);
                }
            } else {
                //redirect to appropiate servlet or use a filter before this
servlet
                //with the pattern's logic
            }
        } finally {
            if (out != null) {
                try {
                    out.close();
                } catch (Exception e) {
                }
            }
        }
    }
}

If the server app has control over the applet path and related resources I
don't see any problem with the codebase.

Alejandro

-----Original Message-----
From: Greg Brown [mailto:gkbrown@mac.com] 
Sent: Martes, 22 de Junio de 2010 05:58 p.m.
To: user@pivot.apache.org
Subject: Re: Help understanding classpaths/codebase with applets

> 1) Use one server app, to retrieve a unique file with an static and
> well-know url, put that url in all your applets and use a get method to
> retrieve an stream an setup log4j.

The question I have is - what do you do with the file after the GET? You'd
have to store it in the local file system and point Log4J to it before your
app actually starts up.

> 2) Write a file servlet in all your webApps, inside the applet use the
> codebase to create a relative url to an fictitious file, this file will be
> pulled from a unique path by each one of your web apps in the server side.

The problem here is that it requires the use of the codebase, which John is
trying to avoid (there are some unfortunate side effects of the way the JDK
performs service lookups when running in an applet that doesn't disable
codebase lookup - I filed a bug on it, but Sun/Oracle never responded).



Re: Help understanding classpaths/codebase with applets

Posted by Sandro Martini <sa...@gmail.com>.
Hi to all,
on the server-side I'd suggest to point to the Log configuration file
via JNDI (so you can configure it globally on the server), and then
from your webapps refer to that variable to get the real file and use
it on the many webapps, and maybe publish it to the client (via a
servlet for example).

You can find here a simple example (a little old, but should work):
http://www.coderanch.com/t/362833/Servlets/java/log-ServletContextListener


And a last suggestion (but should not make sense now):
if I'd have to publish resources in a signed jar, why not put only
them in a dedicated jar (keeping untouched all other jars of the
application, to simplify your deploy) ?


I hope these two little things could help you a little.

Bye,
Sandro

Re: Help understanding classpaths/codebase with applets

Posted by Greg Brown <gk...@mac.com>.
> 1) Use one server app, to retrieve a unique file with an static and
> well-know url, put that url in all your applets and use a get method to
> retrieve an stream an setup log4j.

The question I have is - what do you do with the file after the GET? You'd have to store it in the local file system and point Log4J to it before your app actually starts up.

> 2) Write a file servlet in all your webApps, inside the applet use the
> codebase to create a relative url to an fictitious file, this file will be
> pulled from a unique path by each one of your web apps in the server side.

The problem here is that it requires the use of the codebase, which John is trying to avoid (there are some unfortunate side effects of the way the JDK performs service lookups when running in an applet that doesn't disable codebase lookup - I filed a bug on it, but Sun/Oracle never responded).



RE: Help understanding classpaths/codebase with applets

Posted by Alejandro Vilar <al...@synacom.com.bo>.
Yes, some ways to perform this could be:

1) Use one server app, to retrieve a unique file with an static and
well-know url, put that url in all your applets and use a get method to
retrieve an stream an setup log4j.

2) Write a file servlet in all your webApps, inside the applet use the
codebase to create a relative url to an fictitious file, this file will be
pulled from a unique path by each one of your web apps in the server side.

In both approaches a env variable could be handy to avoid static paths to
the file.

Alejandro

-----Original Message-----
From: JohnRodey [mailto:timothyddaly@yahoo.com] 
Sent: Martes, 22 de Junio de 2010 04:54 p.m.
To: user@pivot.apache.org
Subject: RE: Help understanding classpaths/codebase with applets



Alejandro Vilar wrote:
> 
> Yes, my suggestion is for all wars on the server side, but if the same
> config file is required on the client side using a FileSerializer(or a
> StreamSerializer) and a get method is enough to send/request the file
> (using
> the same system property to recover the file on the server side) and setup
> Log4J as needed.
> 
> Alejandro
> 


Ah, that is very interesting.  So you are saying that I can do an HTTP get
to retrieve the xml file from the server instead of from the
classpath/codebase?


-- 
View this message in context:
http://apache-pivot-users.399431.n3.nabble.com/Help-understanding-classpaths
-codebase-with-applets-tp914940p915289.html
Sent from the Apache Pivot - Users mailing list archive at Nabble.com.


RE: Help understanding classpaths/codebase with applets

Posted by JohnRodey <ti...@yahoo.com>.

Alejandro Vilar wrote:
> 
> Yes, my suggestion is for all wars on the server side, but if the same
> config file is required on the client side using a FileSerializer(or a
> StreamSerializer) and a get method is enough to send/request the file
> (using
> the same system property to recover the file on the server side) and setup
> Log4J as needed.
> 
> Alejandro
> 


Ah, that is very interesting.  So you are saying that I can do an HTTP get
to retrieve the xml file from the server instead of from the
classpath/codebase?


-- 
View this message in context: http://apache-pivot-users.399431.n3.nabble.com/Help-understanding-classpaths-codebase-with-applets-tp914940p915289.html
Sent from the Apache Pivot - Users mailing list archive at Nabble.com.

RE: Help understanding classpaths/codebase with applets

Posted by Alejandro Vilar <al...@synacom.com.bo>.
Yes, my suggestion is for all wars on the server side, but if the same
config file is required on the client side using a FileSerializer(or a
StreamSerializer) and a get method is enough to send/request the file (using
the same system property to recover the file on the server side) and setup
Log4J as needed.

Alejandro
-----Original Message-----
From: Greg Brown [mailto:gkbrown@mac.com] 
Sent: Martes, 22 de Junio de 2010 04:28 p.m.
To: user@pivot.apache.org
Subject: Re: Help understanding classpaths/codebase with applets

I may be misunderstanding your suggestion, but I think that would only work
for code running on the Tomcat server itself. I believe that John is trying
to use Log4J on the client as well as the server.

On Jun 22, 2010, at 4:23 PM, Alejandro Vilar wrote:

> Hi John,
> 
> I'm not sure if this could be helpful for you(Plan A), but to use a unique
> configuration file for Log4j in your wars you could set a system property.
> If you are booting tomcat from startup.bat script edit catalina.bat script
> and put something like this:
> 
>            set JAVA_OPTS=%JAVA_OPTS%
> -Dlog4j.configuration="path-to-your-configuration-file"
> 
> Or if is running as a service run TOMCAT_PATH/bin/tomca5tw.exe and setup a
> system property for your configuration file.
> Doing this you can retrieve this property in all your wepApps.
> 
> Note that my suggestion is only for Windows OS, I didn't check it in other
> platforms but I guess you could do some similar modifications.
> 
> (http://logging.apache.org/log4j/1.2/manual.html#defaultInit)
> 
> Hope this helps,
> Alejandro
> 
> -----Original Message-----
> From: JohnRodey [mailto:timothyddaly@yahoo.com] 
> Sent: Martes, 22 de Junio de 2010 02:47 p.m.
> To: user@pivot.apache.org
> Subject: Help understanding classpaths/codebase with applets
> 
> 
> So I'm still tryin to get Log4j all setup but keep running into road
blocks.
> 
> Now I'm running into issues where my knowledge of applets is lacking and
was
> hoping I could find some help.
> 
> Plan A) What I would like to do is have one log4j.xml configuration file
> stored directly under my tomcat directory (In other words I don't want a
> seperate log4j.xml file for each war that I have, I just want them all to
> share one config file).  However I don't know how to give my applet access
> to something thats not in the directory for the applet.
> So directory structure like this:
> tomcat
> ..log4j.xml
> ..webapps
> ....mypivotapp
> ....someotherapp
> 
> Plan B) If I can't do (A) then my startup script can make a copy of the
> log4j.xml and put it directly in the mypivotapp directory.  Although looks
> like by default the applet can't see it there.  Looking into the
> codebase_lookup property shows that when this is false applets only use
the
> jars in their classpath.  Will enabling this help, documentation says that
> there is a performance hit for doing so, which leads me to believe there
are
> better ways.
> 
> Plan C) My startup script could import my log4j.xml file into my jar file
on
> my classpath.  ex. tomcat/webapps/mypivotapp/lib/mylib.jar
> 
> The goal is to just need to edit one file to alter all logging.
> 
> Thanks!
> -- 
> View this message in context:
>
http://apache-pivot-users.399431.n3.nabble.com/Help-understanding-classpaths
> -codebase-with-applets-tp914940p914940.html
> Sent from the Apache Pivot - Users mailing list archive at Nabble.com.
> 


Re: Help understanding classpaths/codebase with applets

Posted by Greg Brown <gk...@mac.com>.
I may be misunderstanding your suggestion, but I think that would only work for code running on the Tomcat server itself. I believe that John is trying to use Log4J on the client as well as the server.

On Jun 22, 2010, at 4:23 PM, Alejandro Vilar wrote:

> Hi John,
> 
> I'm not sure if this could be helpful for you(Plan A), but to use a unique
> configuration file for Log4j in your wars you could set a system property.
> If you are booting tomcat from startup.bat script edit catalina.bat script
> and put something like this:
> 
>            set JAVA_OPTS=%JAVA_OPTS%
> -Dlog4j.configuration="path-to-your-configuration-file"
> 
> Or if is running as a service run TOMCAT_PATH/bin/tomca5tw.exe and setup a
> system property for your configuration file.
> Doing this you can retrieve this property in all your wepApps.
> 
> Note that my suggestion is only for Windows OS, I didn't check it in other
> platforms but I guess you could do some similar modifications.
> 
> (http://logging.apache.org/log4j/1.2/manual.html#defaultInit)
> 
> Hope this helps,
> Alejandro
> 
> -----Original Message-----
> From: JohnRodey [mailto:timothyddaly@yahoo.com] 
> Sent: Martes, 22 de Junio de 2010 02:47 p.m.
> To: user@pivot.apache.org
> Subject: Help understanding classpaths/codebase with applets
> 
> 
> So I'm still tryin to get Log4j all setup but keep running into road blocks.
> 
> Now I'm running into issues where my knowledge of applets is lacking and was
> hoping I could find some help.
> 
> Plan A) What I would like to do is have one log4j.xml configuration file
> stored directly under my tomcat directory (In other words I don't want a
> seperate log4j.xml file for each war that I have, I just want them all to
> share one config file).  However I don't know how to give my applet access
> to something thats not in the directory for the applet.
> So directory structure like this:
> tomcat
> ..log4j.xml
> ..webapps
> ....mypivotapp
> ....someotherapp
> 
> Plan B) If I can't do (A) then my startup script can make a copy of the
> log4j.xml and put it directly in the mypivotapp directory.  Although looks
> like by default the applet can't see it there.  Looking into the
> codebase_lookup property shows that when this is false applets only use the
> jars in their classpath.  Will enabling this help, documentation says that
> there is a performance hit for doing so, which leads me to believe there are
> better ways.
> 
> Plan C) My startup script could import my log4j.xml file into my jar file on
> my classpath.  ex. tomcat/webapps/mypivotapp/lib/mylib.jar
> 
> The goal is to just need to edit one file to alter all logging.
> 
> Thanks!
> -- 
> View this message in context:
> http://apache-pivot-users.399431.n3.nabble.com/Help-understanding-classpaths
> -codebase-with-applets-tp914940p914940.html
> Sent from the Apache Pivot - Users mailing list archive at Nabble.com.
> 


RE: Help understanding classpaths/codebase with applets

Posted by Alejandro Vilar <al...@synacom.com.bo>.
Hi John,

I'm not sure if this could be helpful for you(Plan A), but to use a unique
configuration file for Log4j in your wars you could set a system property.
If you are booting tomcat from startup.bat script edit catalina.bat script
and put something like this:

            set JAVA_OPTS=%JAVA_OPTS%
-Dlog4j.configuration="path-to-your-configuration-file"

Or if is running as a service run TOMCAT_PATH/bin/tomca5tw.exe and setup a
system property for your configuration file.
Doing this you can retrieve this property in all your wepApps.

Note that my suggestion is only for Windows OS, I didn't check it in other
platforms but I guess you could do some similar modifications.

(http://logging.apache.org/log4j/1.2/manual.html#defaultInit)

Hope this helps,
Alejandro

-----Original Message-----
From: JohnRodey [mailto:timothyddaly@yahoo.com] 
Sent: Martes, 22 de Junio de 2010 02:47 p.m.
To: user@pivot.apache.org
Subject: Help understanding classpaths/codebase with applets


So I'm still tryin to get Log4j all setup but keep running into road blocks.

Now I'm running into issues where my knowledge of applets is lacking and was
hoping I could find some help.

Plan A) What I would like to do is have one log4j.xml configuration file
stored directly under my tomcat directory (In other words I don't want a
seperate log4j.xml file for each war that I have, I just want them all to
share one config file).  However I don't know how to give my applet access
to something thats not in the directory for the applet.
So directory structure like this:
tomcat
..log4j.xml
..webapps
....mypivotapp
....someotherapp

Plan B) If I can't do (A) then my startup script can make a copy of the
log4j.xml and put it directly in the mypivotapp directory.  Although looks
like by default the applet can't see it there.  Looking into the
codebase_lookup property shows that when this is false applets only use the
jars in their classpath.  Will enabling this help, documentation says that
there is a performance hit for doing so, which leads me to believe there are
better ways.

Plan C) My startup script could import my log4j.xml file into my jar file on
my classpath.  ex. tomcat/webapps/mypivotapp/lib/mylib.jar

The goal is to just need to edit one file to alter all logging.

Thanks!
-- 
View this message in context:
http://apache-pivot-users.399431.n3.nabble.com/Help-understanding-classpaths
-codebase-with-applets-tp914940p914940.html
Sent from the Apache Pivot - Users mailing list archive at Nabble.com.