/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package org.dlect.helpers;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
import org.slf4j.Logger;
/**
*
* @author lee
*/
public class FileDebuggingHelper {
private FileDebuggingHelper() {
}
public static void debugFileToLogger(File f, Logger l) {
try {
debugReaderToLogger(new FileReader(f), f.getName(), l);
} catch (FileNotFoundException ex) {
l.error("Failed to load file " + f, ex);
}
}
public static void debugStringToLogger(String fileContent, String name, Logger l) {
debugReaderToLogger(new StringReader(fileContent), name, l);
}
public static void debugReaderToLogger(Reader r, String name, Logger l) {
l.error("FILE STARTS: {}", name);
l.error("------------------------------------------------");
String format = name + "| Ln {}: {}";
int lineNo = 0;
try (BufferedReader br = new BufferedReader(r)) {
String line;
while ((line = br.readLine()) != null) {
lineNo++;
l.error(format, lineNo, line);
}
} catch (IOException ex) {
l.error("IOException thrown at line " + lineNo, ex);
}
if (lineNo == 0) {
l.error("<<FILE EMPTY>>");
}
l.error("------------------------------------------------");
l.error("FILE ENDS {}", name);
}
public static void debugFolderToLogger(File folder, Logger l) {
}
}