sitelink1  
sitelink2  
sitelink3  
sitelink4  
sitelink5  
sitelink6  

    Process p = Runtime.getRuntime().exec(command);

 

    java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd a HH:mm:ss");     

    java.util.Date currDate = new java.util.Date(System.currentTimeMillis());   

    String currDateStr  = sdf.format(currDate);

    

    BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream(), "ms949"));

    String line = null;

    StringBuffer lineSb = new StringBuffer();

    while ((line = br.readLine()) != null) {

        lineSb.append(line);

    }

    if (lineSb.length() > 0) {

        log.info("[" + currDateStr + "] " + lineSb); // 실행 결과를 출력

    }

 

Runtime 클래스의 exec() 함수를 이용하여 외부 프로그램을 수행후 커맨드창에서의 실행 결과를 수집하고 싶은 경우 위와 같은 코드로 log 수집이 가능하다

하지만 위와 같은 Java프로그램을 도스커맨드 창에서 수행한 경우에만 실행 결과 수집이 가능하며

Java프로그램을 윈도우 서비스로 등록하여 실행하는 경우엔 실행 결과 메세지를 수집 불가하다