From 7b93ef1ec7cb51f3494d7f18cc39dd9d26a24be8 Mon Sep 17 00:00:00 2001 From: bd-912 Date: Fri, 19 Apr 2024 19:21:16 -0600 Subject: Use one global logger --- V2VM.java | 10 +---- misc/MinimalLogger.java | 34 +++++++++++++++ vaporize/library/CFGSimp.java | 18 ++------ vaporize/library/Kettle.java | 14 +------ vaporize/library/SpillEverywhere.java | 79 ++++++++++++++++------------------- 5 files changed, 77 insertions(+), 78 deletions(-) create mode 100644 misc/MinimalLogger.java diff --git a/V2VM.java b/V2VM.java index 9fdfc73..0f0eab6 100644 --- a/V2VM.java +++ b/V2VM.java @@ -1,5 +1,3 @@ -import java.util.logging.Logger; -import java.util.logging.ConsoleHandler; import java.io.*; import java.util.ArrayList; @@ -23,10 +21,6 @@ public class V2VM { public static void main(String[] args) { - Logger log = Logger.getLogger(V2VM.class.getName()); - ConsoleHandler consoleHandler = new ConsoleHandler(); - consoleHandler.setFormatter(new MinimalSimpleFormatter()); - log.addHandler(consoleHandler); try { System.in.mark(-1); @@ -36,10 +30,10 @@ public class V2VM { VaporProgram prog = parseVapor(System.in, System.out); - log.info(String.format("Generating CFGs...")); + MinimalLogger.info(String.format("Generating CFGs...")); CFGSimp cfv = new CFGSimp(prog, strProg); ArrayList cfgs = cfv.getCFGs(); - log.info(String.format("Spilling Everywhere...")); + MinimalLogger.info(String.format("Spilling Everywhere...")); SpillEverywhere spill = new SpillEverywhere(prog, strProg); } catch (IOException e) { diff --git a/misc/MinimalLogger.java b/misc/MinimalLogger.java new file mode 100644 index 0000000..000e6d7 --- /dev/null +++ b/misc/MinimalLogger.java @@ -0,0 +1,34 @@ +package misc; + +import java.util.logging.*; + +public class MinimalLogger { + private static final Logger log = Logger.getLogger("MinimalLogger"); + private static ConsoleHandler consoleHandler = new ConsoleHandler(); + + static { + for (Handler handler : log.getHandlers()) { + log.removeHandler(handler); + } + + consoleHandler.setFormatter(new MinimalSimpleFormatter()); + log.addHandler(consoleHandler); + log.setUseParentHandlers(false); + } + + public static void log(Level level, String message) { + log.log(level, message); + } + + public static void info(String message) { + log.info(message); + } + + public static void warning(String message) { + log.warning(message); + } + + public static void severe(String message) { + log.severe(message); + } +} diff --git a/vaporize/library/CFGSimp.java b/vaporize/library/CFGSimp.java index 79eb4c2..b7ca7bd 100644 --- a/vaporize/library/CFGSimp.java +++ b/vaporize/library/CFGSimp.java @@ -1,8 +1,5 @@ package vaporize.library; -import java.util.logging.Logger; -import java.util.logging.ConsoleHandler; - import cs132.vapor.ast.*; import st.*; import misc.*; @@ -10,13 +7,6 @@ import java.util.*; public class CFGSimp extends VInstr.VisitorPR { - private static Logger log = Logger.getLogger(CFGSimp.class.getName()); - private static ConsoleHandler consoleHandler = new ConsoleHandler(); - static { - consoleHandler.setFormatter(new MinimalSimpleFormatter()); - log.addHandler(consoleHandler); - } - private VaporProgram vp; private Kettle kettle; private ArrayList cfgs; @@ -33,15 +23,15 @@ public class CFGSimp extends VInstr.VisitorPR cfg.setStart(start); // nodes - this.log.info(String.format("CFGSimp is collecting nodes for %s", - this.kettle.parseFuncName(f))); + MinimalLogger.info(String.format("CFGSimp is collecting nodes for %s", + this.kettle.parseFuncName(f))); for (VInstr s : f.body) cfg.addNode(new CFGNode(s)); // edges - this.log.info(String.format("CFGSimp is collecting edges for %s", - this.kettle.parseFuncName(f))); + MinimalLogger.info(String.format("CFGSimp is collecting edges for %s", + this.kettle.parseFuncName(f))); for (VInstr s : f.body) s.accept("", this); diff --git a/vaporize/library/Kettle.java b/vaporize/library/Kettle.java index fb9ddc4..561ae32 100644 --- a/vaporize/library/Kettle.java +++ b/vaporize/library/Kettle.java @@ -1,8 +1,5 @@ package vaporize.library; -import java.util.logging.Logger; -import java.util.logging.ConsoleHandler; - import cs132.vapor.ast.*; import misc.*; @@ -17,17 +14,10 @@ import java.util.ArrayList; */ class Kettle { - private static Logger log = Logger.getLogger(Kettle.class.getName()); - private static ConsoleHandler consoleHandler = new ConsoleHandler(); - static { - consoleHandler.setFormatter(new MinimalSimpleFormatter()); - log.addHandler(consoleHandler); - } - ArrayList vapor; protected Kettle(ArrayList vapor) { - log.info("Pouring program into kettle..."); + MinimalLogger.info("Pouring program into kettle..."); this.vapor = vapor; } @@ -50,7 +40,7 @@ class Kettle { out, local); - log.info(String.format("Replacing function declaraction\n%s\nwith\n%s", + MinimalLogger.info(String.format("Replacing function declaraction %s with %s", this.get(prev), next)); diff --git a/vaporize/library/SpillEverywhere.java b/vaporize/library/SpillEverywhere.java index d9e9f3f..d6671bf 100644 --- a/vaporize/library/SpillEverywhere.java +++ b/vaporize/library/SpillEverywhere.java @@ -1,8 +1,5 @@ package vaporize.library; -import java.util.logging.Logger; -import java.util.logging.ConsoleHandler; - import cs132.vapor.ast.*; import st.*; import misc.*; @@ -10,13 +7,6 @@ import java.util.*; public class SpillEverywhere extends VInstr.VisitorPR { - private static Logger log = Logger.getLogger(SpillEverywhere.class.getName()); - private static ConsoleHandler consoleHandler = new ConsoleHandler(); - static { - consoleHandler.setFormatter(new MinimalSimpleFormatter()); - log.addHandler(consoleHandler); - } - private VaporProgram vp; private Kettle kettle; private String vaporm; @@ -41,74 +31,75 @@ public class SpillEverywhere extends VInstr.VisitorPR