X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=Tools%2FJava%2FSource%2FGenBuild%2Forg%2Ftianocore%2Fbuild%2Fglobal%2FGenBuildLogger.java;h=18ef849ed02a8b24c70b704317842f341d9ec44b;hp=85ba166871ecebefd2d7fa6880c4bf2972ed1118;hb=5776c5c045abf935cbfd3e1e7b4c2ae0a2a419e2;hpb=a06a54171d4769389dc7a1b3b67d72e87dd78e40 diff --git a/Tools/Java/Source/GenBuild/org/tianocore/build/global/GenBuildLogger.java b/Tools/Java/Source/GenBuild/org/tianocore/build/global/GenBuildLogger.java index 85ba166871..18ef849ed0 100644 --- a/Tools/Java/Source/GenBuild/org/tianocore/build/global/GenBuildLogger.java +++ b/Tools/Java/Source/GenBuild/org/tianocore/build/global/GenBuildLogger.java @@ -44,21 +44,25 @@ import org.tianocore.common.logger.LogMethod; public class GenBuildLogger extends DefaultLogger implements LogMethod { Project project = null; - /// + + /// /// Time of the start of the build - /// + /// private long startTime = System.currentTimeMillis(); + /// /// flag to present whether cache all msg or not /// true means to cache. /// private static boolean flag = false; - - private static boolean enableFlag = true; private static Map> map = new LinkedHashMap >(256); private FpdModuleIdentification id = null; + // + // semaroph for multi thread + // + public static Object semaphore = new Object(); public GenBuildLogger () { @@ -79,6 +83,7 @@ public class GenBuildLogger extends DefaultLogger implements LogMethod { if (this.project == null) { return; } + // // If msgLevel is always print, then print it // @@ -98,7 +103,7 @@ public class GenBuildLogger extends DefaultLogger implements LogMethod { case EdkLog.EDK_INFO: log(msgSource, msg, Project.MSG_INFO); break; - case EdkLog.EDK_VERBOSE: + case EdkLog.EDK_VERBOSE: log(msgSource, msg, Project.MSG_VERBOSE); break; case EdkLog.EDK_DEBUG: @@ -181,7 +186,8 @@ public class GenBuildLogger extends DefaultLogger implements LogMethod { } public void messageLogged(BuildEvent event) { - int currentLevel = event.getPriority(); + + int currentLevel = event.getPriority(); // // If current level is upper than Ant Level, skip it // @@ -233,10 +239,6 @@ public class GenBuildLogger extends DefaultLogger implements LogMethod { flag = enable; } - public static void maskAllLog(boolean enable) { - enableFlag = !enable; - } - protected synchronized void log(String message) { // // cache log @@ -272,38 +274,15 @@ public class GenBuildLogger extends DefaultLogger implements LogMethod { } public void buildFinished(BuildEvent event) { - Throwable error = event.getException(); - StringBuffer message = new StringBuffer(); - - if (error == null) { - message.append(StringUtils.LINE_SEP); - message.append("BUILD SUCCESSFUL"); - } else { - message.append(StringUtils.LINE_SEP); - message.append("BUILD FAILED"); - message.append(StringUtils.LINE_SEP); - - if (Project.MSG_DEBUG <= msgOutputLevel - || !(error instanceof BuildException)) { - message.append(StringUtils.getStackTrace(error)); - } else { - if (error instanceof BuildException) { - message.append(error.toString()).append(lSep); - } else { - message.append(error.getMessage()).append(lSep); - } - } - } - message.append(StringUtils.LINE_SEP); - message.append("Total time: "); - message.append(formatTime(System.currentTimeMillis() - startTime)); - - String msg = message.toString(); - if (error == null) { - printMessage(msg, out, Project.MSG_VERBOSE); - } else { - printMessage(msg, err, Project.MSG_ERR); - } - log(msg); + if (this.msgOutputLevel >= Project.MSG_VERBOSE) { + int level = this.msgOutputLevel; + synchronized(semaphore){ + this.msgOutputLevel = this.msgOutputLevel - 1; + super.buildFinished(event); + this.msgOutputLevel = level; + } + } else { + super.buildFinished(event); + } } } \ No newline at end of file