Implemented Logging

This commit is contained in:
2023-10-02 17:45:12 +03:00
parent d85f9a6132
commit 13afebe65b
5 changed files with 73 additions and 2 deletions

View File

@@ -15,8 +15,8 @@ public class DataDeserializer {
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(serializedFile))) {
manager = (Supervisor) ois.readObject();
System.out.println("Supervisor object deserialized successfully.");
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
} catch (ClassNotFoundException | IOException e) {
System.err.println("Error!");
}
} else {
System.out.println("Serialized file 'manager.ser' does not exist.");

View File

@@ -231,6 +231,8 @@ public class StudentManagementGUI extends JFrame {
if (result == JOptionPane.YES_OPTION) {
DataSerializer.serialize(sv);
sv.getLogger().logOperation("Died!");
sv.getLogger().close();
dispose();
}
}

View File

@@ -195,6 +195,7 @@ public class FilePicker extends JFrame {
throw new RuntimeException(ex);
}
DisplayerManager.displayStudents();
this.dispose();
}
}

View File

@@ -0,0 +1,51 @@
package org.lumijiez.managers;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class LogManager {
private transient BufferedWriter writer;
private void init() {
BufferedWriter writerTemp;
LocalDateTime currentDateTime = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd-HH-mm-ss");
String fileHandle = "log-" + currentDateTime.format(formatter) + ".txt";
try {
FileWriter fwriter = new FileWriter(fileHandle);
writerTemp = new BufferedWriter(fwriter);
} catch (IOException e) {
System.err.println("Error!");
writerTemp = null;
}
this.writer = writerTemp;
}
public void logOperation(String msg) {
if (writer == null) init();
LocalDateTime currentDateTime = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss |");
try {
writer.write(currentDateTime.format(formatter) + msg);
writer.flush();
System.out.println(msg);
writer.newLine();
} catch (IOException e) {
System.err.println("Error!");
}
}
public void close() {
try {
this.writer.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}

View File

@@ -9,14 +9,19 @@ import java.io.Serializable;
import java.util.Date;
public class Supervisor implements Serializable {
private final FacultyManager fm;
private final LogManager logger;
public Supervisor() {
this.fm = new FacultyManager();
this.logger = new LogManager();
}
public void addFaculty(Faculty faculty) {
getFm().addFaculty(faculty);
logger.logOperation("Faculty added: " + faculty.getName());
}
public void deleteFaculty(Faculty faculty) {
@@ -27,10 +32,12 @@ public class Supervisor implements Serializable {
getFm().getGm().getSm().deleteStudent(st);
}
}
logger.logOperation("Faculty deleted : " + faculty.getName());
}
public void addGrade(Student student, Grade grade) {
student.addGrade(grade);
logger.logOperation("Student graded: " + student.getName() + " " + grade.getSubject().getName() + " " + grade.getGrade());
}
public void editGroup(Group group, String name, Faculty faculty) {
@@ -39,6 +46,7 @@ public class Supervisor implements Serializable {
group.setFaculty(faculty);
faculty.addGroup(group);
oldFac.getGroups().remove(group);
logger.logOperation("Group edited: " + group.getName());
}
public void deleteGroup(Group group) {
@@ -46,11 +54,13 @@ public class Supervisor implements Serializable {
for (Student st : group.getStudents()) {
getFm().getGm().getSm().deleteStudent(st);
}
logger.logOperation("Group deleted: " + group.getName());
}
public void addStudent(String name, String surname, String email, Group group, Faculty faculty, Date birth, Date enrol) {
Student newStudent = new Student(name, surname, email, group, faculty, birth, enrol);
getFm().getGm().getSm().addStudent(newStudent);
logger.logOperation("Student added: " + newStudent.getFullname());
}
public void editStudent(Student student, String name, String surname, String email, Group group, Faculty faculty, Date birth, Date enrol) {
@@ -64,17 +74,20 @@ public class Supervisor implements Serializable {
student.setFaculty(faculty);
student.setDateOfBirth(birth);
student.setEnrollmentDate(enrol);
logger.logOperation("Student edited: " + student.getFullname());
}
public void addGroup(Group group, Faculty faculty) {
group.setFaculty(faculty);
faculty.addGroup(group);
getFm().getGm().addGroup(group);
logger.logOperation("Group added: " + group.getName());
}
public void deleteStudent(Student st) {
st.getGroup().deleteStudent(st);
getFm().getGm().getSm().deleteStudent(st);
logger.logOperation("Student deleted: " + st.getFullname());
}
public Faculty getFacultyByName(String facultyName) {
@@ -97,4 +110,8 @@ public class Supervisor implements Serializable {
return fm;
}
public LogManager getLogger() {
return this.logger;
}
}