[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
RE: [equinox-dev] Using Log4J in Equinox framework
|
Hi again,
I have problems again, the first time when I tried what you told me it worked fine, but next times I have always got the next exception:
"log4j:Error Could not read configuration file [log4j.properties]"
I don't really know why the first time I got no exception at all, and next times I get it, my steps were the next ones:
1-Download org.spring.lo4j bundle,
2-I installed it in Equinox platform
3- Create a new Project without Activator class where there is just a log4j.properties in root file (scr in Eclipse).
4- Include Host-Fragment: org.spring.lo4j in Manifest.MF file for this new Project
5- Include Bundle-Required: org.spring.lo4j in the bunde where I am going to use Log4J API
6- Delete log4j.jar as a library of my application bundle
Any idea?
Thank you in advance
-----Mensaje original-----
De: equinox-dev-bounces@xxxxxxxxxxx [mailto:equinox-dev-bounces@xxxxxxxxxxx] 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: equinox-dev-bounces@xxxxxxxxxxx
>> [mailto:equinox-dev-bounces@xxxxxxxxxxx] 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:* 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
>>> <mailto: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
>>>
>>> *De:* equinox-dev-bounces@xxxxxxxxxxx
>>> <mailto:equinox-dev-bounces@xxxxxxxxxxx>
>>> [mailto:equinox-dev-bounces@xxxxxxxxxxx
>>> <mailto:equinox-dev-bounces@xxxxxxxxxxx>] *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 don.laidlaw@xxxxxxxxx
>>> <http://don.laidlaw@xxxxxxxxx>
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>>
>>> *From: *David Conde <dconde@xxxxxxxx <http://dconde@xxxxxxxx>>
>>> *Reply-To: *Equinox development mailing list
>>> <equinox-dev@xxxxxxxxxxx <http://equinox-dev@xxxxxxxxxxx>>
>>> *Date: *Wed, 3 Jun 2009 13:01:18 +0200
>>> *To: *'Equinox development mailing list' <equinox-dev@xxxxxxxxxxx
>>> <http://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 <http://equinox-dev@xxxxxxxxxxx>
>>> https://dev.eclipse.org/mailman/listinfo/equinox-dev
>>>
>>>
>>> _______________________________________________
>>> equinox-dev mailing list
>>> equinox-dev@xxxxxxxxxxx <mailto: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
>>>
>>
>> _______________________________________________
>> 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
>>
>
> _______________________________________________
> 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