Signed-off-by: Minecon724 <minecon724@noreply.git.m724.eu>
This commit is contained in:
		
					parent
					
						
							
								e3f34ec46f
							
						
					
				
			
			
				commit
				
					
						352807483c
					
				
			
		
					 1 changed files with 34 additions and 10 deletions
				
			
		| 
						 | 
					@ -10,8 +10,11 @@ import eu.m724.tweaks.module.TweaksModule;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.util.logging.Level;
 | 
					import java.util.logging.Level;
 | 
				
			||||||
import java.util.logging.Logger;
 | 
					import java.util.logging.Logger;
 | 
				
			||||||
 | 
					import java.util.stream.Collectors;
 | 
				
			||||||
 | 
					import java.util.stream.IntStream;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class DebugLogger {
 | 
					public class DebugLogger {
 | 
				
			||||||
 | 
					    private DebugLogger() {}
 | 
				
			||||||
    static Logger logger;
 | 
					    static Logger logger;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static void info(String message, Object... format) {
 | 
					    public static void info(String message, Object... format) {
 | 
				
			||||||
| 
						 | 
					@ -35,20 +38,16 @@ public class DebugLogger {
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private static void log(Level level, String message, Object... format) {
 | 
					    private static void log(Level level, String message, Object... format) {
 | 
				
			||||||
        if (logger.getLevel().intValue() > level.intValue()) return;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        var caller = Thread.currentThread().getStackTrace()[3].getClassName();
 | 
					        if (!logger.isLoggable(level)) {
 | 
				
			||||||
 | 
					            return;
 | 
				
			||||||
        if (caller.equals(TweaksModule.class.getName())) {
 | 
					 | 
				
			||||||
            var pcaller = Thread.currentThread().getStackTrace()[4].getClassName();
 | 
					 | 
				
			||||||
            if (pcaller.endsWith("Module"))
 | 
					 | 
				
			||||||
                caller = pcaller;
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (caller.startsWith("eu.m724.tweaks."))
 | 
					        message = message.formatted(format);
 | 
				
			||||||
            caller = caller.substring(15);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        message = "[" + caller + "] " + message.formatted(format);
 | 
					        if (logger.getLevel().intValue() <= Level.FINE.intValue()) {
 | 
				
			||||||
 | 
					            message = "[" + getCaller() + "] " + message;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (level.intValue() < Level.INFO.intValue()) { // levels below info are never logged even if set for some reason
 | 
					        if (level.intValue() < Level.INFO.intValue()) { // levels below info are never logged even if set for some reason
 | 
				
			||||||
            // colors text gray (cyan is close to gray)
 | 
					            // colors text gray (cyan is close to gray)
 | 
				
			||||||
| 
						 | 
					@ -61,5 +60,30 @@ public class DebugLogger {
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        logger.log(level, message);
 | 
					        logger.log(level, message);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private static String getCaller() {
 | 
				
			||||||
 | 
					        String caller = Thread.currentThread().getStackTrace()[4].getClassName();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // TweaksModule has helper functions that log, we want to label the logs
 | 
				
			||||||
 | 
					        if (caller.equals(TweaksModule.class.getName())) {
 | 
				
			||||||
 | 
					            String pcaller = Thread.currentThread().getStackTrace()[5].getClassName();
 | 
				
			||||||
 | 
					            if (pcaller.endsWith("Module"))
 | 
				
			||||||
 | 
					                caller = pcaller;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (caller.startsWith("eu.m724.tweaks.")) {
 | 
				
			||||||
 | 
					            caller = caller.substring(15);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            String[] packages = caller.split("\\.");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            caller = IntStream.range(0, packages.length - 1)
 | 
				
			||||||
 | 
					                    .mapToObj(i -> packages[i].substring(0, 2))
 | 
				
			||||||
 | 
					                    .collect(Collectors.joining(".")) + "." + packages[packages.length - 1];
 | 
				
			||||||
 | 
					                                                // TODO leading dot or no dot?
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return caller;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue