Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem with the how to article #94

Open
lnix1988 opened this issue Jan 18, 2016 · 7 comments
Open

Problem with the how to article #94

lnix1988 opened this issue Jan 18, 2016 · 7 comments

Comments

@lnix1988
Copy link

Hello,

I'm a beginner and have trouble with the implementation of graylog2.

My AM-Q doesn't have a pom.xml, so I will use a jar file. I downloaded the jar file gelfj 1.1.7 (http://mvnrepository.com/artifact/org.graylog2/gelfj/1.1.7) and implement the file to my classpath. Then I configurated my graylog2 appender and change the log4j.rootLogger.

But it doesn't work. Didi I forgot something? What is with a graylog handler?

Thank you.

Regards
lnix1988

@t0xa
Copy link
Owner

t0xa commented Jan 18, 2016

Hi and welcome!

Did you just download Jar from Maven Central Repo? Is there any reason you are not using Maven to handle dependencies?

Please answer following:

  • Do you have a graylog2 server running and is configured to use AMQP queues?
  • Is log4j working at all?
  • Please share log4j.properties or log4j.xml file contents

The how-to Wiki page was a bit out of date. Please refer to https://github.com/t0xa/gelfj/blob/master/README.md for all configuration options.

Thanks

@lnix1988
Copy link
Author

Hi,
yes, I downloaded the Jar form Maven Central Repo. Yes, unfortunately...

  1. Yes, my graylog2 server is running. I can send a message like:

echo '{"version": "1.1","host":"lab.lnix.de","short_message":"A short message that helps you identify what is going on","full_message":"Backtrace here\n\nmore stuff","level":1,"_user_id":9001,"_some_info":"foo","_some_env_var":"bar"}' | nc -w 1 -u graylog.lnix.de 12201

  1. Yes, log4j is working on my amq server

[...]

log4j.rootLogger=INFO, graylog2

log4j.appender.graylog2=org.graylog2.log.GelfAppender
log4j.appender.graylog2.graylogHost=graylog.lnix.de
log4j.appender.graylog2.originHost=lab.lnix.de
log4j.appender.graylog2.facility=gelf-java
log4j.appender.graylog2.layout=org.apache.log4j.PatternLayout
log4j.appender.graylog2.extractStacktrace=true
log4j.appender.graylog2.addExtendedInformation=true
log4j.appender.graylog2.additionalFields={'environment': 'DEV', 'application': 'MyAPP'}
[...]

Thanks.

@t0xa
Copy link
Owner

t0xa commented Jan 18, 2016

Hi,

The configuration looks good. May I suggest you try latest library version - 1.1.12 @ https://search.maven.org/remotecontent?filepath=org/graylog2/gelfj/1.1.12/gelfj-1.1.12.jar

I also highly recommend to use Maven or Gradle to handle all your dependencies.

Let me know how it will works.

Regards,
Anton

@lnix1988
Copy link
Author

Hello Anton,
I replace the gelf jar to 1.1.12 in my classpath but it doesn't work. Following points are different of my configuration:

  1. I rename gelfj-1.1.12.jar to karaf-gelfj-1.1.12.jar
  2. I added my graylog settings to org.ops4j.pax.logging.cfg and not log4j.properties

Is this a problem?

Did I add the karaf-gelfj-1.1.12.jar to my startup.properties?

Regards
lnix

@lnix1988
Copy link
Author

Hello Anton. I get the following errors:

./karaf server
Please wait, JBoss A-MQ is initializing...
7% [=====> ]log4j:ERROR Could not instantiate class [org.graylog2.log.GelfAppender].
java.lang.ClassNotFoundException: org.graylog2.log.GelfAppender not found by org.ops4j.pax.logging.pax-logging-service [4]
at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1556)
at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:77)
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1993)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:190)
at org.apache.log4j.helpers.Loader.loadClass(Loader.java:198)
at org.apache.log4j.helpers.OptionConverter.instantiateByClassName(OptionConverter.java:326)
at org.apache.log4j.helpers.OptionConverter.instantiateByKey(OptionConverter.java:123)
at org.apache.log4j.PaxLoggingConfigurator.parseAppender(PaxLoggingConfigurator.java:97)
at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:735)
at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:615)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:502)
at org.apache.log4j.PaxLoggingConfigurator.doConfigure(PaxLoggingConfigurator.java:72)
at org.ops4j.pax.logging.service.internal.PaxLoggingServiceImpl.updated(PaxLoggingServiceImpl.java:214)
at org.ops4j.pax.logging.service.internal.PaxLoggingServiceImpl$1ManagedPaxLoggingService.updated(PaxLoggingServiceImpl.java:362)
at org.apache.felix.cm.impl.helper.ManagedServiceTracker.updated(ManagedServiceTracker.java:189)
at org.apache.felix.cm.impl.helper.ManagedServiceTracker.updateService(ManagedServiceTracker.java:152)
at org.apache.felix.cm.impl.helper.ManagedServiceTracker.provideConfiguration(ManagedServiceTracker.java:85)
at org.apache.felix.cm.impl.ConfigurationManager$UpdateConfiguration.run(ConfigurationManager.java:1747)
at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:103)
at java.lang.Thread.run(Thread.java:744)
log4j:ERROR Could not instantiate appender named "graylog2".
100% [========================================================================]

@t0xa
Copy link
Owner

t0xa commented Feb 1, 2016

Hi @lnix1988, Looking at the message the library is still not found in the classpath.

@lnix1988
Copy link
Author

which library? The jar file (karaf-gelfj-1.1.12.jar) is in my classpath. I can see it with ps aux |grep java |grep karaf-gelfj-1.1.12.jar

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants