Thanks for confirming that. You may avoid the classloader issues by combining the log4j jars and your custom appender in a single jar.
The only tricky part here is that you'd need to combine the serialized plugin listing files (see http://logging.apache.org/log4j/2.x/manual/plugins.html) from the various log4j jars into a single serialized plugin listing file in your superjar. See the source code for PluginProcessor for more details. https://logging.apache.org/log4j/2.x/log4j-core/xref/org/apache/logging/log4j/core/config/plugins/processor/PluginProcessor.html Sent from my iPhone > On 2016/02/03, at 23:54, Nipuni Piyabasi Perera <nipuni880...@gmail.com> > wrote: > > Hi all, > > As I have mentioned in my first mail, the issue is only in the OSGi > environment it seems. I had mistakenly added the appender as a OSGi bundle > in the non-OSGi environment. Could resolve the issue after changing the > package to a jar. > > Thanks, > Nipuni > > On Wed, Feb 3, 2016 at 7:41 PM, Nipuni Piyabasi Perera < > nipuni880...@gmail.com> wrote: > >> Thanks for the prompt reply. >> >> I have first tried my custom appender in OSGi environment which gave the >> errors above. But I am getting the same issue in non-OSGi environment too. >> It seems an issue with custom appender. >> AFAIK It is plugin annotation that make the appender visible to log4j2. I >> can't find any issue in my log4j2.xml and plugin configuration of the >> class. Is there any other places that I need to care about? >> >> Thanks, >> Nipuni >> >> On Wed, Feb 3, 2016 at 7:28 PM, Ralph Goers <ralph.go...@dslextreme.com> >> wrote: >> >>> OSGi does interesting things with ClassLoaders. Log4j has to be able to >>> access your plugin when it is configuring. If it isn’t in an accessible >>> ClassLoader it won’t see it. There have been a few people who are using >>> Log4j in an OSGi environment that have helped out with patches from time to >>> time. Perhaps one of them can help out? >>> >>> Ralph >>> >>>>> On Feb 3, 2016, at 6:07 AM, Nipuni Piyabasi Perera < >>>> nipuni880...@gmail.com> wrote: >>>> >>>> Hi, >>>> >>>> I have written a custom appender extending the log4j2 AbstractAppender. >>> But >>>> I am getting a runtime error[1]. I have added the plugin annotation[2] >>> as >>>> per the manual and the custom appender class contains factory method >>>> createAppender() as well. I also have added the package name to >>>> configuration element. >>>> What am I missing here? Appreciate any input on this. >>>> >>>> I have my log4j2.xml file as below: >>>> >>>> <Configuration packages="org.my.custom.http.socket.appender"> >>>> <Appenders> >>>> ... >>>> <Socket name="socket" host="localhost" port="4714"> >>>> <!--PatternLayout pattern="[%d] %5p {%c} - %m%ex%n"/--> >>>> </Socket> >>>> <HTTPSocket name="HTTP_APPENDER" host="localhost" port="8888"> >>>> <------------------------------------- >>>> New Appender >>>> </HTTPSocket> >>>> </Appenders> >>>> <Loggers> >>>> <Root level="info" includeLocation="true"> >>>> ... >>>> <AppenderRef ref="HTTP_APPENDER"/> >>>> </Root> >>>> <Logger name="my.custom.deployer" level="info" additivity="true"> >>>> <AppenderRef ref="socket"/> >>>> </Logger> >>>> </Loggers> >>>> </Configuration> >>>> >>>> >>>> [1] ERROR Appenders contains an invalid element or attribute >>> "HTTPSocket" >>>> [2] @Plugin(name = "HTTPSocket", category = "Core", elementType = >>> "appender", >>>> printObject = true) >>>> >>>> Thanks, >>>> Nipuni >>>> >>>> -- >>>> Nipuni Perera >>>> Software Engineer; WSO2 Inc.; http://wso2.com >>>> Email: nip...@wso2.com >>>> Git hub profile: https://github.com/nipuni >>>> Blog : http://nipunipererablog.blogspot.com/ >>>> Mobile: +94 (71) 5626680 >>> >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org >>> For additional commands, e-mail: log4j-user-h...@logging.apache.org >> >> >> -- >> Nipuni Perera >> Software Engineer; WSO2 Inc.; http://wso2.com >> Email: nip...@wso2.com >> Git hub profile: https://github.com/nipuni >> Blog : http://nipunipererablog.blogspot.com/ >> Mobile: +94 (71) 5626680 > > > > -- > Nipuni Perera > Software Engineer; WSO2 Inc.; http://wso2.com > Email: nip...@wso2.com > Git hub profile: https://github.com/nipuni > Blog : http://nipunipererablog.blogspot.com/ > Mobile: +94 (71) 5626680