logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ralph Goers <ralph.go...@dslextreme.com>
Subject Re: Flume-Appender
Date Wed, 14 Nov 2012 14:15:41 GMT
This doesn't look like it has anything to do with the Flume Appender. Can you attach the jar,
configuration and instructions and the source to a new Jira issue?

Thanks.
Ralph

On Nov 14, 2012, at 2:54 AM, Simon Monecke wrote:

> Hi Ralph,
> 
> thank you for your response, but now i have another problem.
> 
> i have these dependencies:
> <dependency>
>            <groupId>org.apache.logging.log4j</groupId>
>            <artifactId>log4j-api</artifactId>
>            <version>2.0-beta2</version>
>        </dependency>
>        <dependency>
>            <groupId>org.apache.logging.log4j</groupId>
>            <artifactId>log4j-core</artifactId>
>            <version>2.0-beta2</version>
>        </dependency>
>        <dependency>
>            <groupId>org.apache.logging.log4j</groupId>
>            <artifactId>log4j-flume-ng</artifactId>
>            <version>2.0-alpha2</version>
>            <exclusions>
>                <exclusion>
>                    <artifactId>slf4j-impl</artifactId>
>                    <groupId>org.apache.logging.log4j</groupId>
>                </exclusion>
>            </exclusions>
>        </dependency>
>        <dependency>
>            <groupId>org.apache.logging.log4j.adapters</groupId>
>            <artifactId>slf4j-impl</artifactId>
>            <version>2.0-beta2</version>
>        </dependency>
>        <dependency>
>            <groupId>org.apache.logging.log4j.adapters</groupId>
>            <artifactId>log4j12-api</artifactId>
>            <version>2.0-beta2</version>
>        </dependency>
>        <dependency>
>            <groupId>org.apache.flume</groupId>
>            <artifactId>flume-ng-core</artifactId>
>            <version>${flumeVersion}</version>
>            <exclusions>
>                <exclusion>
>                    <groupId>org.slf4j</groupId>
>                    <artifactId>slf4j-log4j12</artifactId>
>                </exclusion>
>                <exclusion>
>                    <groupId>log4j</groupId>
>                    <artifactId>log4j</artifactId>
>                </exclusion>
>            </exclusions>
>        </dependency>
>        <dependency>
>            <groupId>org.apache.flume</groupId>
>            <artifactId>flume-ng-node</artifactId>
>            <version>${flumeVersion}</version>
>            <exclusions>
>                <exclusion>
>                    <groupId>org.slf4j</groupId>
>                    <artifactId>slf4j-log4j12</artifactId>
>                </exclusion>
>                <exclusion>
>                    <groupId>log4j</groupId>
>                    <artifactId>log4j</artifactId>
>                </exclusion>
>            </exclusions>
>        </dependency>
>        <dependency>
>            <groupId>org.apache.flume.flume-ng-channels</groupId>
>            <artifactId>flume-file-channel</artifactId>
>            <version>${flumeVersion}</version>
>        </dependency>
>        <dependency>
>            <groupId>org.apache.hadoop</groupId>
>            <artifactId>hadoop-core</artifactId>
>            <version>1.0.1</version>
>        </dependency>
>        <dependency>
>            <groupId>junit</groupId>
>            <artifactId>junit</artifactId>
>            <version>4.10</version>
>        </dependency>
> 
> In Eclipse i can run a little test:
>        Logger logger = LogManager.getLogger(Log4j2FlumeEmbedded.class);
> 
>        String text = "Test";
>        long timeOfFirstLog = System.nanoTime();
>        for (int i = 0; i < countOfLogs; i++) {
>            logger.error(text);
>        }
> 
> So i get no errors, but i see nothing. I use "export as runnable jar" to
> pack all dependencies in one jar. Then i copy it to my virtualbox (linux),
> start a flume-agent and get a error:
> 
> "Exception in thread "main" java.lang.NullPointerException
>    at
> org.apache.logging.log4j.core.config.plugins.PluginManager.collectPlugins(PluginManager.java:154)
>    at
> org.apache.logging.log4j.core.config.plugins.PluginManager.collectPlugins(PluginManager.java:125)
>    at
> org.apache.logging.log4j.core.pattern.PatternParser.<init>(PatternParser.java:107)
>    at
> org.apache.logging.log4j.core.layout.PatternLayout.createPatternParser(PatternLayout.java:156)
>    at
> org.apache.logging.log4j.core.layout.PatternLayout.<init>(PatternLayout.java:109)
>    at
> org.apache.logging.log4j.core.layout.PatternLayout.createLayout(PatternLayout.java:193)
>    at
> org.apache.logging.log4j.core.config.DefaultConfiguration.<init>(DefaultConfiguration.java:48)
>    at
> org.apache.logging.log4j.core.LoggerContext.<init>(LoggerContext.java:49)
>    at
> org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.locateContext(ClassLoaderContextSelector.java:161)
>    at
> org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:104)
>    at
> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:73)
>    at
> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:30)
>    at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:138)
>    at de.simo.Log4j2FlumeEmbedded.main(Log4j2FlumeEmbedded.java:22)
> "
> 
> Can anybody create a very small project (just 1 message with a embedded
> agent) to show me what i have to do? :/
> To use other appender is very easy, but the flume appender...
> thank you
> 
> 
> 
> 2012/11/13 Ralph Goers <ralph.goers@dslextreme.com>
> 
>> It looks like you are missing the dependency for avro.  I haven't done the
>> best job at listing the exact dependencies needed for both the Remote and
>> embedded appenders.  I will try to add that to the wiki but I won't be able
>> to get to it until tonight at the earliest.
>> 
>> Ralph
>> 
>> On Nov 13, 2012, at 7:32 AM, Simon Monecke wrote:
>> 
>>> Hi,
>>> 
>>> i want to use the flume-appender, but it doesn't work.
>>> 
>>> my config:
>>> "
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <configuration status="warn" verbose="true">
>>> <appenders>
>>>   <Flume name="eventLogger" suppressExceptions="false" compress="true">
>>>     <Agent host="localhost" port="44444"/>
>>>     <PatternLayout pattern="%m%n"/>
>>>   </Flume>
>>> </appenders>
>>> <loggers>
>>>   <root level="error">
>>>     <appender-ref ref="eventLogger"/>
>>>   </root>
>>> </loggers>
>>> </configuration>
>>> "
>>> 
>>> my pom:
>>> "
>>> ...
>>>   <dependencies>
>>>       <dependency>
>>>           <groupId>org.apache.logging.log4j</groupId>
>>>           <artifactId>log4j-api</artifactId>
>>>           <version>2.0-beta2</version>
>>>       </dependency>
>>>       <dependency>
>>>           <groupId>org.apache.logging.log4j</groupId>
>>>           <artifactId>log4j-core</artifactId>
>>>           <version>2.0-beta2</version>
>>>       </dependency>
>>>       <dependency>
>>>           <groupId>org.apache.logging.log4j</groupId>
>>>           <artifactId>log4j-flume-ng</artifactId>
>>>           <version>2.0-alpha2</version>
>>>       </dependency>
>>>   </dependencies>
>>> ...
>>> "
>>> my Log4j2FlumeEmbedded.java:
>>> "
>>> ...
>>>       Logger logger = LogManager.getLogger(Log4j2FlumeEmbedded.class);
>>> 
>>>       String text = "Test";
>>>       long timeOfFirstLog = System.nanoTime();
>>>       for (int i = 0; i < countOfLogs; i++) {
>>>           logger.error(text);
>>> ...
>>> "
>>> 
>>> i try
>>> "java -cp
>>> 
>> ./log4j2flumeembedded-0.0.1-SNAPSHOT.jar:./lib/log4j-api-2.0-beta2.jar:./lib/log4j-core-2.0-beta2.jar:./lib/log4j-flume-ng-2.0-beta2.jar:./apache-flume-1.2.0/lib/flume-ng-sdk-1.2.0.jar
>>> de.simo.Log4j2FlumeEmbedded 10"
>>> 
>>> and i got many errors:
>>> "
>>> 2012-11-13 16:17:08,270 ERROR Unable to invoke method createAppender in
>>> class org.apache.logging.log4j.flume.appender.FlumeAppender for element
>>> Flume java.lang.reflect.InvocationTargetException
>>>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>   at
>>> 
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>   at
>>> 
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>   at java.lang.reflect.Method.invoke(Method.java:616)
>>>   at
>>> 
>> org.apache.logging.log4j.core.config.BaseConfiguration.createPluginObject(BaseConfiguration.java:686)
>>>   at
>>> 
>> org.apache.logging.log4j.core.config.BaseConfiguration.createConfiguration(BaseConfiguration.java:454)
>>>   at
>>> 
>> org.apache.logging.log4j.core.config.BaseConfiguration.createConfiguration(BaseConfiguration.java:446)
>>>   at
>>> 
>> org.apache.logging.log4j.core.config.BaseConfiguration.doConfigure(BaseConfiguration.java:152)
>>>   at
>>> 
>> org.apache.logging.log4j.core.config.BaseConfiguration.start(BaseConfiguration.java:110)
>>>   at
>>> 
>> org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:251)
>>>   at
>>> 
>> org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:267)
>>>   at
>>> org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:134)
>>>   at
>>> 
>> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:75)
>>>   at
>>> 
>> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:30)
>>>   at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:138)
>>>   at de.simo.Log4j2FlumeEmbedded.main(Log4j2FlumeEmbedded.java:19)
>>> Caused by: java.lang.NoClassDefFoundError:
>>> org/apache/avro/AvroRemoteException
>>>   at
>>> 
>> org.apache.logging.log4j.flume.appender.FlumeAppender.createAppender(FlumeAppender.java:173)
>>>   ... 16 more
>>> Caused by: java.lang.ClassNotFoundException:
>>> org.apache.avro.AvroRemoteException
>>>   at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
>>>   at java.security.AccessController.doPrivileged(Native Method)
>>>   at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
>>>   at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
>>>   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
>>>   at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
>>>   ... 17 more
>>> 
>>> Null object returned for Flume
>>> Exception in thread "main" java.lang.NullPointerException
>>>   at
>>> 
>> org.apache.logging.log4j.core.config.BaseConfiguration.createPluginObject(BaseConfiguration.java:591)
>>>   at
>>> 
>> org.apache.logging.log4j.core.config.BaseConfiguration.createConfiguration(BaseConfiguration.java:454)
>>>   at
>>> 
>> org.apache.logging.log4j.core.config.BaseConfiguration.doConfigure(BaseConfiguration.java:152)
>>>   at
>>> 
>> org.apache.logging.log4j.core.config.BaseConfiguration.start(BaseConfiguration.java:110)
>>>   at
>>> 
>> org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:251)
>>>   at
>>> 
>> org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:267)
>>>   at
>>> org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:134)
>>>   at
>>> 
>> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:75)
>>>   at
>>> 
>> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:30)
>>>   at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:138)
>>>   at de.simo.Log4j2FlumeEmbedded.main(Log4j2FlumeEmbedded.java:19)
>>> "
>>> 
>>> What can i do? :/ The user guide is a little bit to short.
>>> 
>>> Regards,
>>> Simon
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
>> For additional commands, e-mail: log4j-user-help@logging.apache.org
>> 
>> 


---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org


Mime
View raw message