-
- // only logging last line of each log file processed to the log4j log file defined by property - PARSERLOGPATH
- private static final Logger log4jlogger = Logger.getLogger(ParseLog.class.getName());
-
- // processing logging
- private static org.onap.policy.common.logging.flexlogger.Logger logger = FlexLogger.getLogger(ParseLog.class.getName());
-
- private static String system;
- private static int lastNumberRead = 0;
- private static int debuglastNumberRead = 0;
- private static int errorlastNumberRead = 0;
- private static String type;
- private static long startFileSize;
- private static long debugStartFileSize;
- private static long errorStartFileSize;
- private static String systemLogFile;
- private static String logFile;
- private static String debuglogFile;
- private static String errorlogFile;
- private static String JDBC_URL;
- private static String JDBC_USER;
- private static String JDBC_PASSWORD;
- private static String JDBC_DRIVER;
- private static int maxLength = 255; //Max length that is allowed in the DB table
- private static String resourceName;
- private static long sleepTimer = 50000;
- static IntegrityMonitor im;
- private static boolean isMissingLogFile;
- //Default:Timer initial delay and the delay between in milliseconds before task is to be execute
- private static int TIMER_DELAY_TIME = 1000;
- //Default:Timer scheduleAtFixedRate period - time in milliseconds between successive task executions
- private static int CHECK_INTERVAL = 86400000; // run this clean up once a day
- private static RandomAccessFile randomAccessFile;
- private static String loggingProcess = "Error processing line in ";
- private static int TIME_FRAME = 5;
- private static String message =" value read in: ";
- private static String lineFormat = "(\\r\\n|\\n)";
- private static String lineRead = "-line-Read:";
- private static String br= "<br />";
- private static String last = "Last-";
- private static String breakLoop = "break the loop.";
- private static String dateFormat = "yyyy-MM-dd HH:mm:ss";
-
- public static void main(String[] args) throws Exception {
-
- Properties logProperties = getPropertiesValue("parserlog.properties");
-
- if(logProperties == null || isMissingLogFile){
- // missing the path of log file in the properties file, so stop the process
- logger.error("logProperties is null or LOGPATH is missing in parserlog.properties, so stop the process.");
- return;
- }
-
- //trigger the cleanup systemLogDb timer
- startCleanUp();
-
- File fileLog = new File(systemLogFile);
-
- im = IntegrityMonitor.getInstance(resourceName,logProperties );
-
- startDebugLogParser(fileLog);
- startErrorLogParser(fileLog);
- startAPIRestLogParser(fileLog);
-
- }
-
- private static boolean processLine(Path debugfilePath, String dataFileName, int lastNmRead, LOGTYPE logType){
- // log4jlogger must use .info
- Stream<String> lines = null;
- try {
- lines = Files.lines(debugfilePath, Charset.defaultCharset()).onClose(() -> log4jlogger.info(last+dataFileName+ lineRead + lastNmRead)).skip(lastNmRead);
- lines.forEachOrdered(line -> process(line, type, logType));
- } catch (IOException e) {
- logger.error(loggingProcess + dataFileName, e);
- logger.error(breakLoop);
- return true;
- }finally{
- if(lines != null){
- lines.close();
- }
- }
-
- return false;
- }
- private static void processDebugLogParser(File debugfile, Path debugfilePath, String dataFileName){
-
- Runnable runnable = new Runnable (){
- boolean isStop = false;
- public void run(){
- while (!isStop){
- if (debugfile.isFile()){
- isStop = processLine(debugfilePath, dataFileName, debuglastNumberRead, LOGTYPE.DEBUG);
- }
- try {
- Thread.sleep(sleepTimer);
- debugStartFileSize = countLines(debuglogFile);
- } catch (Exception e) {
- logger.error(loggingProcess + dataFileName, e);
- logger.error(breakLoop);
- isStop = true;
- }
- logger.debug("File Line Count of debug.log: " + debugStartFileSize + message + debuglastNumberRead);
- if (debugStartFileSize < debuglastNumberRead ){
- logger.debug("Failed Rolled: set Last number read to 0");
- debuglastNumberRead = 0;
- }
- }
- }
- };
-
- Thread thread = new Thread(runnable);
- thread.start();
- }
-
- private static void startDebugLogParser(File fileLog) throws IOException{
-
- if(debuglogFile != null && !debuglogFile.isEmpty()){
-
- // pull the last line number
- String dataFileName = "debug.log";
- String filesRead = pullLastLineRead(fileLog, dataFileName);
- if (filesRead!= null){
- filesRead = filesRead.replaceAll(lineFormat, br);
- debuglastNumberRead= Integer.parseInt(filesRead.trim());
- }else{
- debuglastNumberRead = 0;
- }
-
- debugStartFileSize = countLines(debuglogFile);
- if (debugStartFileSize < debuglastNumberRead ){
- logger.error("Filed Rolled: set Last debug number read to 0");
- debuglastNumberRead = 0;
- }
-
- isMissingLogFile = false;
- Path debugfilePath = Paths.get(debuglogFile);
- File debugfile = new File(debuglogFile);
- debugStartFileSize = debugfile.length();
-
- // start process debug.log file
- processDebugLogParser(debugfile, debugfilePath, dataFileName);
-
- }
- }
-
- private static void processErrorLogParser(File errorfile, Path errorfilePath, String dataFileName){
- Runnable runnable = new Runnable (){
- boolean isStop = false;
- public void run(){
-
- while (!isStop){
- if (errorfile.isFile()){
- isStop = processLine(errorfilePath, dataFileName, errorlastNumberRead, LOGTYPE.ERROR);
- }
- try {
- Thread.sleep(sleepTimer);
- errorStartFileSize = countLines(errorlogFile);
- } catch (Exception e) {
- logger.error(loggingProcess + dataFileName, e);
- logger.error(breakLoop);
- isStop = true;
- }
-
- logger.debug("File Line Count of error.log: " + errorStartFileSize + message + errorlastNumberRead);
- if (errorStartFileSize < errorlastNumberRead ){
- logger.debug("Failed Rolled: set Last error number read to 0");
- errorlastNumberRead = 0;
- }
- }
- }
- };
-
- Thread thread = new Thread(runnable);
- thread.start();
- }
-
- private static void startErrorLogParser(File fileLog) throws IOException{
-
- if(errorlogFile != null && !errorlogFile.isEmpty()){
-
- // pull the last line number
- String dataFileName = "error.log";
- String filesRead = pullLastLineRead(fileLog, dataFileName);
- if (filesRead!= null){
- filesRead = filesRead.replaceAll(lineFormat, br);
- errorlastNumberRead= Integer.parseInt(filesRead.trim());
- }else{
- errorlastNumberRead = 0;
- }
-
- errorStartFileSize = countLines(errorlogFile);
- if (errorStartFileSize < errorlastNumberRead ){
- logger.error("Filed Rolled: set Last error number read to 0");
- errorlastNumberRead = 0;
- }
-
- isMissingLogFile = false;
- Path errorfilePath = Paths.get(errorlogFile);
- File errorfile = new File(errorlogFile);
- errorStartFileSize = errorfile.length();
- // start process error.log file
- processErrorLogParser(errorfile, errorfilePath, dataFileName);
-
- }
- }
-
- private static void processAPIRestLog(File file, Path filePath, String dataFileName){
-
- Runnable runnable = new Runnable () {
- boolean isStop = false;
- public void run(){
- while (!isStop){
-
- if (file.isFile()){
- isStop = processLine(filePath, dataFileName, lastNumberRead, LOGTYPE.INFO);
- }
- try {
- Thread.sleep(sleepTimer);
- startFileSize = countLines(logFile);
- } catch (Exception e) {
- logger.error(loggingProcess + dataFileName, e);
- logger.error(breakLoop);
- isStop = true;
- }
-
- logger.debug("File Line Count of " + dataFileName+": " + startFileSize + message + lastNumberRead);
- if (startFileSize < lastNumberRead ){
- logger.debug("Failed Rolled: set Last number read to 0");
- lastNumberRead = 0;
- }
- }
- }
- };
-
- Thread thread = new Thread(runnable);
- thread.start();
- }
-
- private static void startAPIRestLogParser(File fileLog) throws IOException{
-
- if(logFile != null && !logFile.isEmpty()){
-
- // pull the last line number
- String dataFileName = type.toLowerCase()+"-rest.log";
- String filesRead = pullLastLineRead(fileLog, dataFileName);
- if (filesRead!= null){
- filesRead = filesRead.replaceAll(lineFormat, br);
- lastNumberRead= Integer.parseInt(filesRead.trim());
- }else{
- lastNumberRead = 0;
- }
- startFileSize = countLines(logFile);
- if (startFileSize < lastNumberRead ){
- logger.error("Filed Rolled: set Last number read to 0");
- lastNumberRead = 0;
- }
-
- isMissingLogFile = false;
- Path filePath = Paths.get(logFile);
- File file = new File(logFile);
- startFileSize = file.length();
- // start process pap/pdp-rest.log file
- processAPIRestLog(file, filePath, dataFileName);
- }
- }
-
- public static int countLines(String filename){
- int cnt = 0;
- try (
- FileReader freader = new FileReader(filename);
- LineNumberReader reader = new LineNumberReader(freader);
- ) {
- String line= null;
- while ((line = reader.readLine()) != null) {
- logger.debug("Reading the Logs"+line);
- }
- cnt = reader.getLineNumber();
- logger.info("Line number:"+cnt);
- reader.close();
- freader.close();
-
- }catch(Exception e){
- logger.error(e);
- }
-
- return cnt;
- }
-
- public static String pullLastLineRead(File file, String dataFileName) throws IOException {
- if(!file.exists()){
- file.createNewFile();
- return null;
- }
- randomAccessFile = new RandomAccessFile(file, "r");
- StringBuilder builder = new StringBuilder();
- long length = file.length();
- logger.debug("dataFileName: " +dataFileName);
- if(length > 0){
- length--;
- randomAccessFile.seek(length);
- for(long seek = length; seek >= 0; --seek){
- randomAccessFile.seek(seek);
- char c = (char)randomAccessFile.read();
- builder.append(c);
- if(c == '\n'){
- builder = builder.reverse();
- logger.debug("builder.toString(): " +builder.toString());
- if (builder.toString().contains(last+dataFileName+lineRead)){
- String[] parseString = builder.toString().split(last+dataFileName+lineRead);
- String returnValue = parseString[1].replace("\r", "");
- return returnValue.trim();
- }
- builder = new StringBuilder();
- }
- }
- }
-
- return null;
- }
-
- private static LogEntryObject getDebugOutLogValue (String line, String type){
-
- Date date;
- LogEntryObject logEntry = new LogEntryObject();
- logEntry.setSystemType(type);
- logEntry.setSystem(system);
- String info1 = "||INFO||";
- String info2 = "INFO:";
- String error1 = "||ERROR||";
- String error2 = "ERROR:";
-
- if(line.contains(info1) || line.contains(error1) || line.contains(info2) || line.contains(error2)){
- String[] splitString = null;
- if(line.contains(info1) || line.contains(error1)){
- splitString = line.split("[||]");
- }else if(line.contains(info2)){
- splitString = line.split(info2);
- }else{
- splitString = line.split(error2);
- }
- String dateString = splitString[0].substring(0, 19);
- logEntry.setDescription(splitString[splitString.length-1]);
-
- //parse out date
- date = parseDate(dateString.replace("T", " "), dateFormat, false);
- logEntry.setDate(date);
-
- logEntry.setRemote(parseRemoteSystem(line));
- if (line.contains(info2) || line.contains(info1)){
- logEntry.setLogType(LOGTYPE.INFO);
- }else{
- logEntry.setLogType(LOGTYPE.ERROR);
- }
-
- return logEntry;
- }
-
- return null;
- }
-
- private static LogEntryObject getRestAPIOutLogValue (String line, String type){
- Date date;
- LogEntryObject logEntry = new LogEntryObject();
- logEntry.setSystemType(type);
- logEntry.setSystem(system);
- String info3 = "INFO";
+
+ // only logging last line of each log file processed to the log4j log file defined by property - PARSERLOGPATH
+ private static final Logger log4jlogger = Logger.getLogger(ParseLog.class.getName());
+ private static final String PROP_AES_KEY = "org.onap.policy.encryption.aes.key";
+
+ // processing logging
+ private static org.onap.policy.common.logging.flexlogger.Logger logger =
+ FlexLogger.getLogger(ParseLog.class.getName());
+
+ private static String system;
+ private static int lastNumberRead = 0;
+ private static int debuglastNumberRead = 0;
+ private static int errorlastNumberRead = 0;
+ private static String type;
+ private static long startFileSize;
+ private static long debugStartFileSize;
+ private static long errorStartFileSize;
+ private static String systemLogFile;
+ private static String logFile;
+ private static String debuglogFile;
+ private static String errorlogFile;
+ private static String jdbcUrl;
+ private static String jdbcUser;
+ private static String jdbcPassword;
+ private static String jdbcDriver;
+ private static int maxLength = 255; // Max length that is allowed in the DB table
+ private static String resourceName;
+ private static long sleepTimer = 50000;
+ static IntegrityMonitor im;
+ private static boolean isMissingLogFile;
+ // Default:Timer initial delay and the delay between in milliseconds before task is to be execute
+ private static final int TIMER_DELAY_TIME = 1000;
+ // Default:Timer scheduleAtFixedRate period - time in milliseconds between successive task executions
+ private static int checkInterval = 86400000; // run this clean up once a day
+ private static String loggingProcess = "Error processing line in ";
+ private static int defaultTimeFrame = 5;
+ private static String message = " value read in: ";
+ private static String lineFormat = "(\\r\\n|\\n)";
+ private static String lineRead = "-line-Read:";
+ private static String br = "<br />";
+ private static String last = "Last-";
+ private static String breakLoop = "break the loop.";
+ private static String dateFormat = "yyyy-MM-dd HH:mm:ss";
+
+ /**
+ * The main method to start log parsing.
+ *
+ * @param args the arguments
+ * @throws Exception if an error occurs
+ */
+ public static void main(final String[] args) throws Exception {
+
+ final Properties logProperties = getPropertiesValue("parserlog.properties");
+
+ if (logProperties == null || isMissingLogFile) {
+ // missing the path of log file in the properties file, so stop the process
+ logger.error("logProperties is null or LOGPATH is missing in parserlog.properties, so stop the process.");
+ return;
+ }
+
+ // trigger the cleanup systemLogDb timer
+ startCleanUp();
+
+ final File fileLog = new File(systemLogFile);
+
+ im = IntegrityMonitor.getInstance(resourceName, logProperties);
+
+ startDebugLogParser(fileLog);
+ startErrorLogParser(fileLog);
+ startApiRestLogParser(fileLog);
+
+ }
+
+ private static boolean processLine(final Path debugfilePath, final String dataFileName, final int lastNmRead,
+ final LogType logType) {
+ // log4jlogger must use .info
+ try (Stream<String> lines = Files.lines(debugfilePath, Charset.defaultCharset())
+ .onClose(() -> log4jlogger.info(last + dataFileName + lineRead + lastNmRead)).skip(lastNmRead)) {
+ lines.forEachOrdered(line -> process(line, type, logType));
+ } catch (final IOException e) {
+ logger.error(loggingProcess + dataFileName, e);
+ logger.error(breakLoop);
+ return true;
+ }
+ return false;
+ }
+
+ private static void processDebugLogParser(final File debugfile, final Path debugfilePath,
+ final String dataFileName) {
+
+ final Runnable runnable = new Runnable() {
+ boolean isStop = false;
+
+ @Override
+ public void run() {
+ while (!isStop) {
+ if (debugfile.isFile()) {
+ isStop = processLine(debugfilePath, dataFileName, debuglastNumberRead, LogType.DEBUG);
+ }
+ try {
+ Thread.sleep(sleepTimer);
+ debugStartFileSize = countLines(debuglogFile);
+ } catch (final Exception e) {
+ logger.error(loggingProcess + dataFileName, e);
+ logger.error(breakLoop);
+ isStop = true;
+ }
+ logger.debug("File Line Count of debug.log: " + debugStartFileSize + message + debuglastNumberRead);
+ if (debugStartFileSize < debuglastNumberRead) {
+ logger.debug("Failed Rolled: set Last number read to 0");
+ debuglastNumberRead = 0;
+ }
+ }
+ }
+ };
+
+ final Thread thread = new Thread(runnable);
+ thread.start();
+ }
+
+ private static void startDebugLogParser(final File fileLog) throws IOException {
+
+ if (debuglogFile != null && !debuglogFile.isEmpty()) {
+
+ // pull the last line number
+ final String dataFileName = "debug.log";
+ String filesRead = pullLastLineRead(fileLog, dataFileName);
+ if (filesRead != null) {
+ filesRead = filesRead.replaceAll(lineFormat, br);
+ debuglastNumberRead = Integer.parseInt(filesRead.trim());
+ } else {
+ debuglastNumberRead = 0;
+ }
+
+ debugStartFileSize = countLines(debuglogFile);
+ if (debugStartFileSize < debuglastNumberRead) {
+ logger.error("Filed Rolled: set Last debug number read to 0");
+ debuglastNumberRead = 0;
+ }
+
+ isMissingLogFile = false;
+ final Path debugfilePath = Paths.get(debuglogFile);
+ final File debugfile = new File(debuglogFile);
+ debugStartFileSize = debugfile.length();
+
+ // start process debug.log file
+ processDebugLogParser(debugfile, debugfilePath, dataFileName);
+
+ }
+ }
+
+ private static void processErrorLogParser(final File errorfile, final Path errorfilePath,
+ final String dataFileName) {
+ final Runnable runnable = new Runnable() {
+ boolean isStop = false;
+
+ @Override
+ public void run() {
+
+ while (!isStop) {
+ if (errorfile.isFile()) {
+ isStop = processLine(errorfilePath, dataFileName, errorlastNumberRead, LogType.ERROR);
+ }
+ try {
+ Thread.sleep(sleepTimer);
+ errorStartFileSize = countLines(errorlogFile);
+ } catch (final Exception e) {
+ logger.error(loggingProcess + dataFileName, e);
+ logger.error(breakLoop);
+ isStop = true;
+ }
+
+ logger.debug("File Line Count of error.log: " + errorStartFileSize + message + errorlastNumberRead);
+ if (errorStartFileSize < errorlastNumberRead) {
+ logger.debug("Failed Rolled: set Last error number read to 0");
+ errorlastNumberRead = 0;
+ }
+ }
+ }
+ };
+
+ final Thread thread = new Thread(runnable);
+ thread.start();
+ }
+
+ private static void startErrorLogParser(final File fileLog) throws IOException {
+
+ if (errorlogFile != null && !errorlogFile.isEmpty()) {
+
+ // pull the last line number
+ final String dataFileName = "error.log";
+ String filesRead = pullLastLineRead(fileLog, dataFileName);
+ if (filesRead != null) {
+ filesRead = filesRead.replaceAll(lineFormat, br);
+ errorlastNumberRead = Integer.parseInt(filesRead.trim());
+ } else {
+ errorlastNumberRead = 0;
+ }
+
+ errorStartFileSize = countLines(errorlogFile);
+ if (errorStartFileSize < errorlastNumberRead) {
+ logger.error("Filed Rolled: set Last error number read to 0");
+ errorlastNumberRead = 0;
+ }
+
+ isMissingLogFile = false;
+ final Path errorfilePath = Paths.get(errorlogFile);
+ final File errorfile = new File(errorlogFile);
+ errorStartFileSize = errorfile.length();
+ // start process error.log file
+ processErrorLogParser(errorfile, errorfilePath, dataFileName);
+
+ }
+ }
+
+ private static void processApiRestLog(final File file, final Path filePath, final String dataFileName) {
+
+ final Runnable runnable = new Runnable() {
+ boolean isStop = false;
+
+ @Override
+ public void run() {
+ while (!isStop) {
+
+ if (file.isFile()) {
+ isStop = processLine(filePath, dataFileName, lastNumberRead, LogType.INFO);
+ }
+ try {
+ Thread.sleep(sleepTimer);
+ startFileSize = countLines(logFile);
+ } catch (final Exception e) {
+ logger.error(loggingProcess + dataFileName, e);
+ logger.error(breakLoop);
+ isStop = true;
+ }
+
+ logger.debug(
+ "File Line Count of " + dataFileName + ": " + startFileSize + message + lastNumberRead);
+ if (startFileSize < lastNumberRead) {
+ logger.debug("Failed Rolled: set Last number read to 0");
+ lastNumberRead = 0;
+ }
+ }
+ }
+ };
+
+ final Thread thread = new Thread(runnable);
+ thread.start();
+ }
+
+ private static void startApiRestLogParser(final File fileLog) throws IOException {
+
+ if (logFile != null && !logFile.isEmpty()) {
+
+ // pull the last line number
+ final String dataFileName = type.toLowerCase() + "-rest.log";
+ String filesRead = pullLastLineRead(fileLog, dataFileName);
+ if (filesRead != null) {
+ filesRead = filesRead.replaceAll(lineFormat, br);
+ lastNumberRead = Integer.parseInt(filesRead.trim());
+ } else {
+ lastNumberRead = 0;
+ }
+ startFileSize = countLines(logFile);
+ if (startFileSize < lastNumberRead) {
+ logger.error("Filed Rolled: set Last number read to 0");
+ lastNumberRead = 0;
+ }
+
+ isMissingLogFile = false;
+ final Path filePath = Paths.get(logFile);
+ final File file = new File(logFile);
+ startFileSize = file.length();
+ // start process pap/pdp-rest.log file
+ processApiRestLog(file, filePath, dataFileName);
+ }
+ }
+
+ /**
+ * Count the number of lines in input file.
+ *
+ * @param filename the filename
+ * @return the lines count
+ */
+ public static int countLines(final String filename) {
+ int cnt = 0;
+ try (FileReader freader = new FileReader(filename); LineNumberReader reader = new LineNumberReader(freader)) {
+ String line = null;
+ while ((line = reader.readLine()) != null) {
+ logger.debug("Reading the Logs" + line);
+ }
+ cnt = reader.getLineNumber();
+ logger.info("Line number:" + cnt);
+ reader.close();
+ freader.close();
+
+ } catch (final Exception e) {
+ logger.error(e);
+ }
+
+ return cnt;
+ }
+
+ /**
+ * Get the last line read from the input file if exists.
+ *
+ * @param file the file
+ * @param dataFileName the data file name
+ * @return last line read or null
+ * @throws IOException if any error occurs
+ */
+ public static String pullLastLineRead(final File file, final String dataFileName) throws IOException {
+ if (!file.exists()) {
+ file.createNewFile();
+ return null;
+ }
+ try (RandomAccessFile randomAccessFile = new RandomAccessFile(file, "r");) {
+ StringBuilder builder = new StringBuilder();
+ long length = file.length();
+ logger.debug("dataFileName: " + dataFileName);
+ if (length == 0) {
+ return null;
+ }
+
+ length--;
+ randomAccessFile.seek(length);
+ for (long seek = length; seek >= 0; --seek) {
+ randomAccessFile.seek(seek);
+ final char c = (char) randomAccessFile.read();
+ builder.append(c);
+ if (c == '\n') {
+ builder = builder.reverse();
+ logger.debug("builder.toString(): " + builder.toString());
+ if (builder.toString().contains(last + dataFileName + lineRead)) {
+ final String[] parseString = builder.toString().split(last + dataFileName + lineRead);
+ final String returnValue = parseString[1].replace("\r", "");
+ return returnValue.trim();
+ }
+ builder = new StringBuilder();
+ }
+ }
+
+ }
+ return null;
+ }
+
+ private static LogEntryObject getDebugOutLogValue(final String line, final String type) {
+
+ Date date;
+ final LogEntryObject logEntry = new LogEntryObject();
+ logEntry.setSystemType(type);
+ logEntry.setSystem(system);
+ final String info1 = "||INFO||";
+ final String info2 = "INFO:";
+ final String error1 = "||ERROR||";
+ final String error2 = "ERROR:";
+
+ if (line.contains(info1) || line.contains(error1) || line.contains(info2) || line.contains(error2)) {
+ String[] splitString = null;
+ if (line.contains(info1) || line.contains(error1)) {
+ splitString = line.split("[||]");
+ } else if (line.contains(info2)) {
+ splitString = line.split(info2);
+ } else {
+ splitString = line.split(error2);
+ }
+ final String dateString = splitString[0].substring(0, 19);
+ logEntry.setDescription(splitString[splitString.length - 1]);
+
+ // parse out date
+ date = parseDate(dateString.replace("T", " "), dateFormat, false);
+ logEntry.setDate(date);
+
+ logEntry.setRemote(parseRemoteSystem(line));
+ if (line.contains(info2) || line.contains(info1)) {
+ logEntry.setLogType(LogType.INFO);
+ } else {
+ logEntry.setLogType(LogType.ERROR);
+ }
+
+ return logEntry;
+ }
+
+ return null;
+ }
+
+ private static LogEntryObject getRestApiOutLogValue(final String line, final String type) {
+ Date date;
+ final LogEntryObject logEntry = new LogEntryObject();
+ logEntry.setSystemType(type);
+ logEntry.setSystem(system);
+ final String info3 = "INFO";