2011-06-04 86 views
0

我無法爲此編碼創建對象。我如何訪問這個值我想在這個編碼中返回msg的值?如何爲構造函數創建實例?

package com.my; 

import org.apache.log4j.Level; 
import org.apache.log4j.Logger; 
import org.apache.log4j.VectorAppender; 
import org.apache.log4j.spi.LoggingEvent; 
import java.util.Vector; 
public class LogCapture 
    { 
    private final VectorAppender appender; 
    private final Level level; 
    public LogCapture(final Level level) 
     { 
     this.level = level; 
     Logger root = Logger.getRootLogger(); 
     appender = new VectorAppender(); 
     root.addAppender(appender); 
     } 
public static void main(String args[]) 
{ 
    new LogCapture(Level.INFO); 

    LogCapture.getMessage() ; 
} 
    public String getMessage() 
     { 
     Vector vector = appender.getVector(); 
     String msg = null; 
     switch (vector.size()) 
      { 
     case 0: 
      break; 
     case 1: 
      LoggingEvent event = (LoggingEvent) vector.elementAt(0); 
      msg = event.getRenderedMessage(); 
      break; 
     } 
     return msg; 
    } 
} 
+9

因此,你已經在網站上了一個多月,並問了八個以前的問題,但你仍然沒有正確格式化代碼。非常值得閱讀問題區域右側的「如何格式化」框以及[本頁](http://stackoverflow.com/editing-help)更詳細地討論格式化。您對問題所付出的努力越多,您所獲得答案的質量和數量就越好。 **編輯**:Crozin這次爲你做了,但下一次,它真的值得你自己做。 – 2011-06-04 09:34:23

+1

我不明白這個問題。 @Op。有什麼問題? – Kaj 2011-06-04 09:49:30

+0

我想獲得味精的價值..我可以做什麼? – unknown 2011-06-04 10:25:50

回答

0

我不確定我是否理解這個問題,但聽起來很簡單。你喜歡這個創建一個實例:

new LogCapture(Level.INFO); 

您可以找到其他的日誌級別的位置: Documentation for Level

編輯(因爲OP增加了一些更多的代碼): 在main方法更改代碼,它說

LogCapture logCapture = new LogCapture(Level.INFO); 
logCapture.getMessage(); 
+0

我想得到味精的價值..我可以做什麼? – unknown 2011-06-04 10:25:27

+0

什麼?看起來像你的方法'getMessage()'返回味精。 – Kaj 2011-06-04 10:27:11

+0

但我不知道如何校準這種方法? – unknown 2011-06-04 11:09:15