2017-09-29 9 views
0

자바를 사용하여 꼬리 파일 내용을 만들고 싶다. 나는 Apache commons io의 Tailer와 TailerListenerAdapter를 사용했다. storm-core-1.1.1.jar를 필요한 종속성에 대한 클래스 경로에 포함 시켰습니다. 프로그램을 컴파일하고 실행합니다. 실행이 main 메소드에 남아 있다면 적어도 것을 의미파일 꼬리표가 아파치 커먼즈의 TailerListenerAdapter를 사용하고 있지 않다. io

import org.apache.storm.shade.org.apache.commons.io.input.TailerListenerAdapter; 
import org.apache.storm.shade.org.apache.commons.io.input.Tailer; 
import org.apache.storm.shade.org.apache.commons.io.input.TailerListener; 

import java.io.File; 
public class LogTailTest { 

    /** 
    * TailerListener implementation. 
    */ 
    static public class ShowLinesListener extends TailerListenerAdapter { 
     @Override 
     public void handle(String line) { 
      System.out.println(line); 
      System.out.println("inside handle"); 
     } 
    } 

    public static void main(String args[]) { 


     TailerListener listener = new ShowLinesListener(); 
     File file = new File("C:/LogFiles/Radius-log"); 
     System.out.println("inside main"); 
     Tailer tailer = Tailer.create(file, listener); 
     tailer.run(); 

     } 
} 

답변

0

: 그러나 TailerListenerAdapter의 '핸들'방법이 전혀 호출되지 및 실행이 주요 method.Following 내부에 내동댕이 코드입니다 그것은 추락하지 않았다. 쇼에 TailerListener 인터페이스의 다른 방법을 구현하면 어떤 일이 일어나는지 더 자세히 알 수 있습니다. 존재하지 않는 파일, 파일 회전, 일반 예외 등을 처리하는 메소드가 있습니다.