2015-02-10 22 views
0

我是web服務的新手,並在本地主機(Websphere Application Server 8)上發佈了Web服務。在Websphere Application Server上發佈的Web服務沒有生成日誌8

我能夠成功,但不使用的Web服務能夠發現哪裏如何產生,甚至日誌如何產生與否的日誌。

我有地方log4j.properties文件的WebContent/WEB-INF/classes中,但這個文件是文件被自動刪除得到當我試圖生成從Java WSDL(步驟 - 右擊項目名稱 - >新建 - > Web服務 - >選擇類)

文件生成的:

  1. 的deploy.wsdd
  2. deploy.wsdd.bak
  3. undeploy.wsdd

的WebContent/WEB-INF獲取添加一些JAR文件/ lib

後的文件被刪除我已經再次複製log4j.properties的WebContent/WEB-INF/classes中和出口這是部署在服務器上的EAR。

我已經檢查日誌文件夾中:

  • d:\ IBM \的WebSphere \ AppServer的\型材\ cw_profile \日誌
  • d:\ IBM \的WebSphere \ AppServer的\日誌\的manageprofiles \ cw_profile

但沒有生成日誌文件。

主要網絡服務 - >

package com.gateway.request.demo; 

import java.util.Date; 

import javax.jws.WebMethod; 
import javax.jws.WebService; 

import org.apache.log4j.LogManager; 
import org.apache.log4j.Logger; 

@WebService 
public class GetDemoTicketv2 { 

//Logger log = Logger.getLogger(GetDemoTicket.class); 
Logger log = LogManager.getLogger(GetDemoTicketv2.class); 

public GetDemoTicketv2() { 
    super(); 
    // TODO Auto-generated constructor stub 
} 

@WebMethod 
public String getTicket(String serviceName, String actionName, String bodyStr, String userId){ 

    Date curDate = new Date(); 

    log.debug("Starting Execution"); 
    log.info("Service Name is: "+serviceName); 
    log.info("Action is: "+actionName); 
    log.info("Body: "+bodyStr); 
    log.info("User ID is: "+userId); 
    log.debug("Execution Done"); 
    serviceName = "Service name received: "+serviceName+" "+curDate.toString()+"\n"; 
    actionName = "Action name received: "+actionName+" "+curDate.toString()+"\n"; 
    bodyStr = "Body string received: "+bodyStr+" "+curDate.toString()+"\n"; 
    userId = "User ID received: "+userId+" "+curDate.toString()+"\n"; 
    log.info("Return Values is \n"+serviceName+actionName+bodyStr+userId); 
    return serviceName+actionName+bodyStr+userId; 
} 

/*public static void main(String[] args) { 
    System.out.println("CHECKING..."); 
    GetDemoTicketv2 obj = new GetDemoTicketv2(); 
    String retVal = obj.getTicket("My Service T", "My Action T", "My Body String T", "My User ID T"); 
    System.out.println(retVal); 
}*/} 

客戶端 - >

package com.gateway.request.demo; 

import java.rmi.RemoteException; 

public class TestService { 

public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    GetDemoTicketv2Proxy pxy = new GetDemoTicketv2Proxy("http://hostname:9081/Gateway_Webservice_For_ISTM_v3.0/GetDemoTicketv2Service"); 
    try { 
     String retVal = pxy.getTicket("SERVICE", "ACTION", "BODY", "USER ID"); 
     System.out.println("Value returned:\n"+retVal); 
    } catch (RemoteException e) { 
     // TODO Auto-generated catch block 
     System.out.println("RemoteException while consuming web service"); 
     e.printStackTrace(); 
    } catch (Exception e) { 
     // TODO: handle exception 
     System.out.println("Exception while consuming web service"); 
     e.printStackTrace(); 
    } 
}} 

log4j.properties

log4j.rootLogger=DEBUG, main 

log4j.appender.main=org.apache.log4j.RollingFileAppender 
log4j.appender.main.MaxFileSize=15MB 
log4j.appender.main.MaxBackupIndex=10 
log4j.appender.main.File=logs/DemoRequest.log 
log4j.appender.main.layout=org.apache.log4j.PatternLayout 
log4j.appender.main.layout.ConversionPattern=%d [%t] %-5p %c{1} - %m%n 
+0

所有我認爲你在log4j.properties編輯您的變量首先: log4j.appender.main.File = /日誌/ ISTMRequest.log – adimoise91 2015-02-10 14:35:49

+0

日誌沒有得到即使將變量更改爲log4j.appender.main.File =/logs/ISTMRequest.log – Lizzie 2015-02-11 05:48:31

+0

您的路徑(/ logs /)存在?如果該文件夾未創建,則可以在SystemOut.log中編寫文件,因此請爲您的路徑創建日誌文件夾。長話短說:在根,創建文件夾日誌:)我在等你回答。 ;) – adimoise91 2015-02-11 08:43:41

回答

1

在t他上面的代碼片段 - 它似乎缺少加載log4j.properties文件的邏輯,您應該在程序開始時加載該文件。所以,請儘量添加類似:

Properties applicationProp = new Properties(); 

String applicationPropFilePath = "C:\\log4j.properties"; 

load(applicationPropFilePath, applicationProp); 

/* This method is a cookie-cutter and loads the given properties file to the given handle */ 
public static void load(String propFilepath, Properties propFileHandle){ 
    try { 
     InputStream is = new FileInputStream(propFilepath); 
     propFileHandle.load(is); 
    } catch (FileNotFoundException e) { 
     System.out.println(" Unable to locate properties file: " + propFilepath + e); 
    } catch (IOException e) { 
     System.out.println(" IO Error while loading properties file: " + propFilepath + e); 
    } catch (Exception e) { 
     System.out.println(" Some error occurred while loading properties file: " + propFilepath + e); 
    } 
相關問題