使用log4j到Java

问题描述 投票:0回答:1
我是Web服务世界的新手,但知识是

log4j

我需要实现一个功能,该功能将将日志消息发送到Web服务,而不是使用

WebServiceAppender

.我通过在

google

上搜索WebServiceAppender

log4j
班之一,但我无法验证这一点。
log4j.appender.CONSOLE=main.WSAppender 
log4j.appender.CONSOLE.endpoint=http://localhost:8080/Logging/services/logging?w‌​sdl 
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout 
log4j.appender.CONSOLE.layout.ConversionPattern=%p [%t] %c{2} (%M:%L) :: %m%n 
WSAppender.java extends AppenderSkeleton, can't resolve endpoint, hostname in append()    

if (endpoint == null) { 
    System.out.println("no endpoint set. Check configuration file"); 
    System.out.println("[" + hostname + "] " + this.layout.format(event)); 
    return; 
}

	
java web-services log4j appender
1个回答
6
投票
AppenderSkeleton

方法初始化Web服务类初始化。我已经编写了databaseappender和jmsappender log4j记录器,我一直发现我必须初始化db连接或JMS连接,或者在您的情况下,

public void activateOptions()
方法中的Web服务属性。
然后像往常一样在
public void activateOptions()
方法中您只会调用WebService。

可能,我建议实现一个阻止式形式来存储所有loggingevent对象,以便如果您收到了大量的日志消息,则它们已排队并发送到WebService asynchronicaly。

任意包含模板log4jclass



trory使用以下模板。我在重要部分中添加了评论。基本上,在ActivateOptions和ProcessEvent方法中,您将初始化“连接”并发送事件对象。可以是DB,JMS,WebService ...等

append(LoggingEvent)

我建议您查看这篇文章:Http://www.ibm.com/developererworks/webservices/library/ws-library/ws-log4j/index.html, 它专门描述了使用WebServiceAppender。

,Google!


最新问题
© www.soinside.com 2019 - 2025. All rights reserved.