[
https://issues.apache.org/jira/browse/LOG4J2-95?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13483524#comment-13483524
]
Aaron Shepherd commented on LOG4J2-95:
--------------------------------------
Honestly, my knowledge of class loading is rather limited so you might start
losing me with some of this stuff. That said, I'm not sure that there is a
direct parent/child relationship between the loaders. I did a quick loop
through the loaders for my test script and for LogManager (if you have a better
suggestion for getting the log4j loader let me know), and they don't meet up at
all:
Script loader hierarchy:
class com.rational.test.ft.util.FtClassLoader
class com.rational.test.ft.util.FtClassLoader
class org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader
class org.eclipse.osgi.baseadaptor.BaseAdaptor$1
Log4j loader hierarchy:
class sun.misc.Launcher$AppClassLoader
class sun.misc.Launcher$ExtClassLoader
Loader.getClassLoader() returned a similar hierachy as LogManager, with an
additional ContextFinder class as the initial loader.
At this point some background info on RFT might be helpful. As I stated
before, it is a plugin for Eclipse, so project setup is very similar to a
standard Java project in Eclipse. I have added the log4j jars to the build
path of the project as a user library. Originally, the HappyAppender was
simply a class within the project itself, but I have since exported
HappyAppender to a jar tried both of the following:
- Added the jar directly to the build path of the project
- Added the jar to the log4j user library
Both of these failed with the same error as having the appender directly in the
project. Any additional instruction for things I can do would be appreciated,
though I'm not sure at this point I'd know how to implement them immediately.
Also, if you feel that this issue is dissimilar enough from Robert's original
issue please let me know. I posted here since RFT is a plugin to Eclipse and I
was having a similar issue with getting a custom appender to work within the
context of that plugin.
> Adding a custom appender Appender
> ---------------------------------
>
> Key: LOG4J2-95
> URL: https://issues.apache.org/jira/browse/LOG4J2-95
> Project: Log4j 2
> Issue Type: Question
> Components: Configurators
> Affects Versions: 2.0-beta1
> Environment: Windows 7 x64, Java 7 x86, Eclipse 3.8.1 x86, Eclipse
> RCP plugin application
> Reporter: Robert Breunung
> Labels: appender, extend
> Attachments: Desktop.png, happyTestProject.rftjdtr, LogDemo.zip
>
>
> Hello,
> since two days I'm working with Log4j 2 . I try to migrate from Log4J. I'm
> using it in an Eclipse application. I put the necessary jars of the binary
> distribution into a basic plugin and a log4j2.xml into the root. This worked
> well so far. Now I tried to add a custom appender to log4j. The class is in
> the default source package of the Eclipse plugin. Annotations are set like in
> the homepage documentation.
> In the first try I tried to provide the package of the Appender via the
> log4j2.xml. I set the attribute package in the configuration element. It
> seemed to me, the attribute is completely ignored? At least the class from
> the given package was not loaded.
> In the second try I tried to provide the package via the static method
> '...log4j.core.config.plugin.PluginManager.addPackage'. I debugged the method
> to get a hint why it didn't work. It tried to transform my package
> 'com.application.logging' into a URI 'com/application/logging' and started to
> search with it somehow. It might have found them treating them as file, as
> the classes were lying in a subdirectory. But as there was no file scheme in
> the beginning of the URI, it searched a not existing jar.
> The XML parser of the configuration can't resolve the name of my appender in
> the end.
> Do you have an idea then I do anything wrong, or then there is an open issue?
> I can provide more details on request. Is there a programmatical way to
> register my appender to Log4J 2 before the Logger initialization?
> Sincerely
> Robert Breunung
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]