Search code examples
javafileinputstreamlogfile

reading log file in java


Is it possible to read log files (abc.log) using java?

I want a specific string from my log file.

suppose this is the content of my logfile. I want the time stamp only (eg: 05:08:37) and print it the console.

2012-12-16 05:08:37,905 [Thread-1] INFO  com.submit.SubmitService - Wait time 500

2012-12-16 05:08:38,444 [Thread-1] INFO  com.submit.SubmitService - NO OF  RECORDS TILL NOW 3755    TOTAL TIME -- << 539

2012-12-16 05:08:38,668 [Thread-1] INFO  com.submit.SubmitService - Active Connection:: -69076

2012-12-16 05:08:38,670 [Thread-1] INFO  com.submit.SubmitService - Active Connection:: -65764

Solution

  • You can read your "log-file" as a normal file.

    Then you can use, for instance, regular expression, to obtain the part of the string that you need:

    try{
       FileInputStream fstream = new FileInputStream("abc.log");
       BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
       String strLine;
       /* read log line by line */
       while ((strLine = br.readLine()) != null)   {
         /* parse strLine to obtain what you want */
         System.out.println (strLine);
       }
       fstream.close();
    } catch (Exception e) {
         System.err.println("Error: " + e.getMessage());
    }