package p19_napisy.regex;

import java.io.BufferedReader;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class AnalizaLogow2 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("Podaj nazwę pakietu: ");
		String pakiet = sc.nextLine();
		
		// Jeśli wyrażenie regularne ma być używane wielokrotnie, np. w pętli, to opłaca się je "skompilować".
		// quote jest po to, aby znaki specjalne - gdyby występowały w tekście - nie miały znaczenia w wyrażeniu regularnym
		String regex = "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}\\|\\w+\\|[^|]*" + Pattern.quote(pakiet) + "[^|]*\\|";
		System.out.println("regex: " + regex);
		Pattern pattern = Pattern.compile(regex);
		
		try(BufferedReader input = Files.newBufferedReader(Paths.get("pliki/history.log"))) {
			String line;
			while((line = input.readLine()) != null) {
				Matcher m = pattern.matcher(line);
				if(m.find()) {
					System.out.println(m.group());
				}
			}
		} catch (IOException e) {
			e.printStackTrace();
		};

	}

}
