Thank you Martin, I tried what I told me and It worked fine! Thank you very much
-----Mensaje original----- De: [email protected] [mailto:[email protected]] En nombre de Martin Below Enviado el: jueves, 04 de junio de 2009 13:25 Para: Equinox development mailing list Asunto: Re: [equinox-dev] Using Log4J in Equinox framework Sorry, I copy and pasted the log4j bundle name from the spring homepage, which accidentally added some weird pipe-characters to my mail... Of course, you have to leave them out. Martin Below schrieb: > David Conde schrieb: > Hi David, > > consider the following layout: > > Bundle1: LibraryStoreBundle (your application, I guess) > Bundle2: LibraryStoreBundle.logging.config (your logging configuration > bundle) > Bundle3: com.springsource.org.apache.log4j (download it from here: > http://www.springsource.com/repository/app/search?query=log4j) > > - Add com.springsource.org.apache.log4j-1.2.15.jar to your > Target-Platform. If you are not using a target platform, put it > directly into your /eclipse/plugins/ - directory. (You need to restart > eclipse in the later case) > > - Remove log4j.jar from your LibraryStoreBundle. > Add a dependency from Bundle1 to com.springsource.org.apache.log4j > (open your plugin.xml file with the pde tools, go to the dependency tab). > > . Create the bundl3: On the first page of the "new Plugin Project > wizard", selected "an OSGi Framework: standard". In the newly created > project, open the META-INF/manifest.mf file. You should see the "host > plugin" input field on the first page of the manifest editor. Set this > to "com.springsource.org.apache.log4j". (this is equivalent to putting > the "fragment-host"-line to the manifest. This makes sure that your > logging-config bundle will be loaded together with the log4j bundle. > - Put your log4j.properties-file to the root of the > LibraryStoreBundle.logging.config project. > > Update your launch configuration: Open the run configuration for your > plugin (run/run configurations) Open the PlugIns-Tab, and click on > "add required plugins". This should add the > "com.springsource.org.apache.log4j" and the > "LibraryStoreBundle.logging.config" - bundle to your launch config. > > Done! > > regards, > Martin Below > > >> Hi, >> Thank you for your answer >> >> I read your previous email before writting the my last one, so I >> created a new bundle in which in scr file I included my >> log4jproperties file and log4j.jar , I included in its classpath >> org.apache.log4j.jar, and I exported this package and imported it in >> my other bundle which I want to use Log4J API. >> >> I tried to include directly Fragment-Host: LibraryStoreBundle either >> Fragment-Host: LibraryStoreBundle.org.apache.log4j (I mean, I write >> Fragment-Host: with the name of my bundle which have lo4j.jar in its >> Manifest.MF) but I get an compilation error because of cannot >> recognize them, I am using Eclipse IDE, I am not sure if the problem >> comes from here. >> >> What am I missing? >> >> Thank you again >> >> >> -----Mensaje original----- >> De: [email protected] >> [mailto:[email protected]] En nombre de Martin Below >> Enviado el: jueves, 04 de junio de 2009 12:28 >> Para: Equinox development mailing list >> Asunto: Re: [equinox-dev] Using Log4J in Equinox framework >> >> Try placing your log4j.properties at the root of your project. also >> make sure that log4j.properties is checked on the build tab of the >> manifest editor. >> Have you read my last post? In my opinion, this is a much cleaner way >> of using third party jars in an osgi environment. it also makes it >> easier to distribute your bundle, because your applications can be >> updated and deployed independently from its dependencies, and your >> bundles will be much smaller. >> >> David Conde schrieb: >> >>> 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:* [email protected] >>> [mailto:[email protected]] *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 <[email protected] >>> <mailto:[email protected]>> 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 >>> >>> *De:* [email protected] >>> <mailto:[email protected]> >>> [mailto:[email protected] >>> <mailto:[email protected]>] *En nombre de >>> *Laidlaw, Don >>> *Enviado el:* miércoles, 03 de junio de 2009 14:40 >>> *Para:* Equinox development mailing list >>> *Asunto:* Re: [equinox-dev] Using Log4J in Equinox framework >>> >>> 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 [email protected] >>> <http://[email protected]> >>> >>> >>> ------------------------------------------------------------------------ >>> >>> >>> *From: *David Conde <[email protected] <http://[email protected]>> >>> *Reply-To: *Equinox development mailing list >>> <[email protected] <http://[email protected]>> >>> *Date: *Wed, 3 Jun 2009 13:01:18 +0200 >>> *To: *'Equinox development mailing list' <[email protected] >>> <http://[email protected]>> >>> *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 >>> [email protected] <http://[email protected]> >>> https://dev.eclipse.org/mailman/listinfo/equinox-dev >>> >>> >>> _______________________________________________ >>> equinox-dev mailing list >>> [email protected] <mailto:[email protected]> >>> https://dev.eclipse.org/mailman/listinfo/equinox-dev >>> >>> ------------------------------------------------------------------------ >>> >>> >>> _______________________________________________ >>> equinox-dev mailing list >>> [email protected] >>> https://dev.eclipse.org/mailman/listinfo/equinox-dev >>> >> >> _______________________________________________ >> equinox-dev mailing list >> [email protected] >> https://dev.eclipse.org/mailman/listinfo/equinox-dev >> >> _______________________________________________ >> equinox-dev mailing list >> [email protected] >> https://dev.eclipse.org/mailman/listinfo/equinox-dev >> > > _______________________________________________ > equinox-dev mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/equinox-dev _______________________________________________ equinox-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/equinox-dev _______________________________________________ equinox-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/equinox-dev
