/PrettyLog4J

PrettyLog ported to Java

Primary LanguageJavaMIT LicenseMIT

PrettyLog4J

A Kotlin logging library ported to Java focused on readability in console. PrettyLog takes advantage of ANSI color codes to make your logs look ✨ pretty ✨.

Installation

I currently do not know how to set up publishing to maven central, for now clone the project.

Logging

Logging is very easy, just call the log(message, type) method. type parameter is optional and defaults to RUNTIME

log("Hello there!");
log("general kenobi", LogType.NETWORK);

image

You can also log exceptions!

} catch (Exception exception) {
    log(exception);
}

image Excuse the Kotlin stacktrace

Logger Settings

You can change settings by simply setting LoggerSettings.<setting> to its new value

// Should the logs be saved to file?
LoggerSettings.saveToFile = true;
// The path to the logs directory
LoggerSettings.saveDirectoryPath = "./logs/";
// Format of the log file name
LoggerSettings.logFileNameFormat = "yyyy-MM-dd-Hms";
// Style of the logger in console
LoggerSettings.loggerStyle = LoggerStyle.PREFIX;

Logger Styles

There are 7 logger styles in total:

image

Log Types

There are 16 default log types: Debug, Information, Runtime, Network, Success, Warning, Error, Exception, Critical, Audit, Trace, Security, User Action, Performance, Config, and Fatal.

image

Custom Log Types

You can make custom log types by making a class and then making public static CustomLogType variables in it with the new CustomLogType(name, AnsiPair) record class

public class CustomLogTypes {
    public static CustomLogType CUTE = new CustomLogType("≽^•⩊•^≼", AnsiPair.CUTE_PINK);
    public static CustomLogType GIT = new CustomLogType("\uD83E\uDD16 Git", AnsiPair.AQUA);
    public static CustomLogType FIRE_WARNING = new CustomLogType("\uD83D\uDD25 Fire Warning", AnsiPair.ORANGE);
}
log("T-This is vewy cuwute message OwO", CustomLogTypes.CUTE);
log("refusing to merge unrelated histories", CustomLogTypes.GIT);
log("SERVER ROOM ON FIRE, DONT LET ASO RUN WHILE LOOPS EVER AGAIN", CustomLogTypes.FIRE_WARNING);

image