Jetty - How to make a camel application log events to the hawtio Logs tab

蹲街弑〆低调 提交于 2019-12-12 22:05:31

问题


I have a simple camel application logging events on a timer. The logs currently go to a ConsoleAppender.

    <route>
        <from uri="timer://hello?period=5000"/>
        <to uri="log:loggingstuff?showAll=true"/>
    </route>

I have attempted to follow the documentation as per: http://hawt.io/plugins/logs/

The application is deployed as a war on jetty, and has log4j, slf4j and insight-log4j as dependencies. hawtio-default-1.4.37.war is deployed alongside it in the ${jetty.home}/webapps directory. Jetty is started with "-Dhawtio.authenticationEnabled=false -Dhawtio.offline=true"

    <dependency>
        <groupId>io.fabric8.insight</groupId>
        <artifactId>insight-log4j</artifactId>
        <version>1.2.0.Beta4</version>
    </dependency> 

and has the logQuery bean in the spring camel-context.xml

<bean id="logQuery" class="io.fabric8.insight.log.log4j.Log4jLogQuery"
  lazy-init="false" scope="singleton"
  init-method="start" destroy-method="stop"/>

Unfortunately I am not seeing the log events generated from the camel application. The only events I see are:

2015-01-08 15:09:20.026 WARNio.hawt.config.ConfigFacade No ConfigFacade constructed yet so using default configuration for now
2015-01-08 15:09:20.043 INFOio.hawt.git.GitFacade hawtio using config directory: /Users/ohhai/.hawtio/config
2015-01-08 15:09:20.088 INFOio.hawt.git.GitFacade Performing a pull in git repository /Users/ohhai/.hawtio/config on remote URL: https://github.com/hawtio/hawtio-config.git. Subsequent     pull attempts will use debug logging
2015-01-08 15:09:21.618 WARNio.hawt.jvm.local.JVMList Local JVM discovery disabled as this JVM cannot access com.sun.tools.attach.VirtualMachine due to: com/sun/tools/attach/VirtualMachine
2015-01-08 15:09:21.621 INFOio.hawt.web.AuthenticationFilter Starting hawtio authentication filter, JAAS authentication disabled

Can anyone give me some pointers on how to get the logging displaying on the Logs Tab?


回答1:


I've just run into same problem. I resolved it but not sure it's the best solution.

Camel uses sfl4j as logging facade. Hawtio log plugin intercepts Log4J (1.x) logging. Make sure the logging bundle you use with slf4j is log4j 1.x (slf4j-log4j12-x.x.x.jar). I used Log4J 2.x bundle before and was not working. With Log4J 1.x it works well now




回答2:


I'm not entirely sure how I did it - but I managed to get this running - using the log4j 1.x as you have suggested - and also excluding commons-logging from the application build.



来源:https://stackoverflow.com/questions/27832931/jetty-how-to-make-a-camel-application-log-events-to-the-hawtio-logs-tab

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!