aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/musichub/util/LogHandler.java
blob: 988b149fb92614ebef08ab3f3abbfdc79350c5d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
package musichub.util;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardOpenOption;
import java.sql.Timestamp;

/**
 * Class offering a log writing method.
 *
 * @author Aimeric ADJUTOR
 * @version 1.0
 */

public final class LogHandler {

    /**
     * Method that just throws an AssertionError if the class is called
     *
     * @throws AssertionError you can't instantiate this class
     * @author Aimeric ADJUTOR
     */

    public LogHandler() {
        throw new AssertionError("You just can't instantiate this class.");
    }

    /**
     * Method that writes a log message to spoteezer.log
     *
     * @param msg  the message to write
     * @param type the type of log
     * @throws IOException if the file's not there
     */
    public static void write(String msg, String type) throws IOException {

        Timestamp timestamp = new Timestamp(System.currentTimeMillis());

        //Create the log using the given message
        String logMsg = "\n[" + timestamp + "] " + type + ": " + msg;

        // Define the file name of the file
        Path fileName = Path.of("log/spoteezer.log");

        // Write into the file
        Files.writeString(fileName, logMsg, StandardOpenOption.APPEND);


    }

    /**
     * Method that prints the content of spoteezer.log
     *
     * @throws IOException if the file's not there
     */
    public static void read() throws IOException {
        Path fileName = Path.of("log/spoteezer.log");

        // Read the content of the file
        String file_content = Files.readString(fileName);

        // Print the content inside the file
        System.out.println("\n" + file_content + "\n");

    }

}