Hi,
Thank you for your answer,
That was just what I wanted to do. My scenario is easy, I just
wanted use Log4J Api in one of my bundles, the problem was that I did not know
how to include a external library using Eclipse IDE and Manifest.MF, so I
included in bundle Classpath firstly, then I exported log4J.jar and I imported
log4J.jar in the same bundle since it is this one the only one which is going
to use Log4J. After that If I launch my bundle with log4J, Equinox is able to
recognize Log4J.jar but the problem now it is that Equinox is not able to find
my log4jproperties file like you told me. I got an exception
FileNotFoundException log4j.properties not found!
I have included my log4j.file in the same place that my Activator.java,
then I exported from Eclipse this Project in order to have a .jar bundle, could
you tell me where do I have to place my log4jproperties file so that Equinox
can locate it?
Thank you in advance
Regards
David
De: equinox-dev-bounces@xxxxxxxxxxx
[mailto:equinox-dev-bounces@xxxxxxxxxxx] En nombre de ??
Enviado el: jueves, 04 de junio de 2009 11:46
Para: Equinox development mailing list
Asunto: Re: [equinox-dev] Using Log4J in Equinox framework
On Thu, Jun 4, 2009 at 4:28 PM, David Conde <dconde@xxxxxxxx> wrote:
Hi, thank you very much for
your answer.
I have tried to download the
Pax Logging binary file but I have got error with the web site.
If I am not wrong, the idea
would be included paxlogging bundle as a required bundle, in order to get the
libraries log4j and common-logging, to launch this bundle and use in my bundle
log4j as the same way as I did without Equinox I mean in normal java applications,
am I missing anything?
By the way, why I can’t
to load the library org.apache.log4j.jar in my bundle and simply to use it? If
I have to use other external libraries, what would I have to do in order to be
able to use in Equinox framework?
I think the simplest way you want is to change a log4j Jar
file to a log4j bundle. Just create a new bundle project, put log4j.jar in the
bundle directory, add log4j.jar to the project build path, export all the
packages in log4j.jar,(through Export-Package in bundle's MANIFEST.MF), add
log4j to the bundle class path (through Bundle-Classpath in bundle's
MANIFEST.MF). And then you get a log4j bundle which can run on Equinox.
You want to use log4j APIs, just import log4j package in other bundle (through
Import-Package in bundle's MANIFEST.MF) and use it directly. But in this way,
loading of the configuration file log4j.properties is a problem.
log4j.properties can locate in the jar bundle or use a argument to figure it
out.
So using pax log is a better way to resolve the class loader problem.
Thank you in advance
Regards
PAX Logging at http://wiki.ops4j.org/display/paxlogging/Pax+Logging
is a good solution, and the one I use. Another good solution is SLF4J at http://www.slf4j.org/.
Both of those implement the log4j logging API and use standard log4j
configuration property/xml formats for configuration, which is convenient if
that is what you know.
Both of those also implement Commons Logging and other logging APIs making it
very convenient in an OSGi container!
--
Best Regards,
Don Laidlaw | Sr. Research Engineer | Infor | office: +1
902-576-5185 | mobile: +1 902-401-6771 | don.laidlaw@xxxxxxxxx
From: David Conde <dconde@xxxxxxxx>
Reply-To: Equinox development mailing list <equinox-dev@xxxxxxxxxxx>
Date: Wed, 3 Jun 2009 13:01:18 +0200
To: 'Equinox development mailing list' <equinox-dev@xxxxxxxxxxx>
Subject: [equinox-dev] Using Log4J in Equinox framework
Hi,
I have been trying to use org.apache.lo4j jar in Equinox but I got an exception
:
Java.lang.Error Unresolved compilation problems:
The import org.apache cannot be resolved
….
My framework is not able either to recognize or load this library.
I have in my Activator. Java the next one:
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
Furthermore, I included org.apache.log4j.jar in my classpath, either I
installed this library like a bundle. I also tried to install the bundle from
Orbit which implemented log4J, but I always have the same result.
Does anyone know what I have to do to use org.apache.log4J in Equinox?
I have either include import org.apache.log4j in Manifest.MF, I guess that
there is a way to load external libraries in Equinox framework, other times I
tried directly installing the jar file and it was fine, but with
org.apache.lo4j jar there is no way to get a good result.
Any idea?
I am using Equinox by Console, not through Eclipse.
Thank you in advance
_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev
_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev
|