tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
1868
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    derChris derChris ist offline Rookie
    Registriert seit
    Aug 2004
    Beiträge
    5
    Hallo,

    ich möchte über ein Servlet die Tomcat LOG-Datei auslesen (catalina.log)...

    nur, wie ist der correcte Pfad?

    Ich habe folgendes versucht, aber es geht nicht... Vielleicht kann mir jemand eine Lösung geben?

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    PrintWriter out = response.getWriter();
    FileReader fr = new FileReader(getServletContext().
    getRealPath("/var/log/tomcat5/catalina.log"));
    BufferedReader bro = new BufferedReader( fr );

    // declare String variable and prime the read
    String stringRead = bro.readLine( );

    while( stringRead != null ) // end of the file
    {
    System.out.println(stringRead );
    stringRead = bro.readLine( ); // read next line
    }

    bro.close( );

    }
     

  2. #2
    Avatar von fatum
    fatum fatum ist offline Mitglied
    Registriert seit
    Dec 2007
    Ort
    Berlin
    Beiträge
    14
    getRealPath(string); übersetzt dir einen (virtuellen) Web-Path in einen "echten" Filesystem-Pfad (daher der Name ) -- /var/log/tomcat5/catalina5 ist allerdings schon ein echter Filesystem-Path -- sollte also direkt als Parameter im new stehen:

    FileReader fr = new FileReader("/var/log/tomcat5/catalina.log");
     

  3. #3
    derChris derChris ist offline Rookie
    Registriert seit
    Aug 2004
    Beiträge
    5
    Lösung ist... (mit letzten Zeilen auslesen):

    PHP-Code:
        protected void doGet(HttpServletRequest requestHttpServletResponse responsethrows ServletExceptionIOException {
            
    PrintWriter out response.getWriter();
            
    File f = new File("/var/log/tomcat5/catalina.log");
            
    RandomAccessFile raf = new RandomAccessFile(f"r");
            
    String output="V1.2\n---\n";
            
    long fileLength raf.length();
            if(
    fileLength 15000){
                
    raf.seek(fileLength 15000);
                }
            
    String act;
            while((
    act raf.readLine())!= null)
                
    output += act+"\n";
            
            
    out.print(output); 
    ...


    Danke,

    Chris
     

Ähnliche Themen

  1. Alias für Tomcat(5.5)-Servlet einrichten
    Von Moritz123 im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 2
    Letzter Beitrag: 06.08.09, 12:38
  2. Java servlet (auf Tomcat)
    Von Liutasil im Forum Java
    Antworten: 8
    Letzter Beitrag: 03.02.08, 23:25
  3. Tomcat: Servlet zu Port
    Von dadevelopa im Forum Hosting & Webserver
    Antworten: 0
    Letzter Beitrag: 24.01.06, 14:42
  4. Antworten: 42
    Letzter Beitrag: 27.09.05, 10:06
  5. Prob mit Tomcat und Servlet
    Von Robout im Forum Java
    Antworten: 6
    Letzter Beitrag: 17.09.05, 17:47