diff options
author | Benoit Lamarche <benoitlamarche@google.com> | 2014-10-01 15:20:31 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2014-10-01 15:20:32 +0000 |
commit | e1e512319804727654a234ddb47c63a0ff4ba574 (patch) | |
tree | 73e3c4ed76d42a9743328874e3781be15e451527 /jack | |
parent | 20fd8082df89a5d745638e39cd794dd2cb35ccb6 (diff) | |
parent | 1a4c1b4e5fc7a64784ca24e5d5083ed7965381ef (diff) | |
download | toolchain_jack-e1e512319804727654a234ddb47c63a0ff4ba574.zip toolchain_jack-e1e512319804727654a234ddb47c63a0ff4ba574.tar.gz toolchain_jack-e1e512319804727654a234ddb47c63a0ff4ba574.tar.bz2 |
Merge "Separate system logging from user logging" into ub-jack
Diffstat (limited to 'jack')
17 files changed, 49 insertions, 37 deletions
diff --git a/jack/src/com/android/jack/backend/jayce/JayceFileImporter.java b/jack/src/com/android/jack/backend/jayce/JayceFileImporter.java index a56afcc..6c8b9b7 100644 --- a/jack/src/com/android/jack/backend/jayce/JayceFileImporter.java +++ b/jack/src/com/android/jack/backend/jayce/JayceFileImporter.java @@ -41,6 +41,7 @@ import com.android.sched.vfs.VPath; import java.util.List; import java.util.logging.Level; +import java.util.logging.Logger; import javax.annotation.Nonnull; @@ -59,7 +60,7 @@ public class JayceFileImporter { private final Tracer tracer = TracerFactory.getTracer(); @Nonnull - private final java.util.logging.Logger logger = LoggerFactory.getLogger(); + private static final Logger logger = LoggerFactory.getLogger(); @Nonnull private final List<InputVDir> jayceContainers; @@ -152,7 +153,7 @@ public class JayceFileImporter { if (collisionPolicy == CollisionPolicy.FAIL) { throw new TypeImportConflictException(declaredType, expectedLoadSource); } else { - logger.log(Level.INFO, + session.getUserLogger().log(Level.INFO, "Type ''{0}'' from {1} has already been imported from {2}: " + "ignoring import", new Object[] { Jack.getUserFriendlyFormatter().getName(declaredType), @@ -183,7 +184,7 @@ public class JayceFileImporter { throw new ResourceImportConflictException(newResource.getLocation(), existingResource.getLocation()); } else { - logger.log(Level.INFO, + session.getUserLogger().log(Level.INFO, "Resource in {0} has already been imported from {1}: ignoring import", new Object[] { newResource.getLocation().getDescription(), existingResource.getLocation().getDescription()}); diff --git a/jack/src/com/android/jack/frontend/java/JackBatchCompiler.java b/jack/src/com/android/jack/frontend/java/JackBatchCompiler.java index 0af6228..b0de3b6 100644 --- a/jack/src/com/android/jack/frontend/java/JackBatchCompiler.java +++ b/jack/src/com/android/jack/frontend/java/JackBatchCompiler.java @@ -82,8 +82,7 @@ public class JackBatchCompiler extends Main { private static final String USE_SINGLE_THREAD_SYSPROP = "jdt.compiler.useSingleThread"; @Nonnull - private final java.util.logging.Logger jackLogger = - LoggerFactory.getLogger(); + private static final java.util.logging.Logger jackLogger = LoggerFactory.getLogger(); @Nonnull private final JSession session; @@ -133,7 +132,7 @@ public class JackBatchCompiler extends Main { ClasspathLocation path = tmpPaths.get(0); assert !(path instanceof ClasspathSourceJar); if (path instanceof ClasspathDirectory) { - jackLogger.log( + session.getUserLogger().log( Level.WARNING, "Invalid entry in classpath or bootclasspath: directories are " + "not supported: \"{0}\"", @@ -142,10 +141,10 @@ public class JackBatchCompiler extends Main { assert path instanceof ClasspathJar; File pathFile = new File(currentClasspathName); if (pathFile.exists()) { - jackLogger.log(Level.WARNING, "Invalid entry in classpath or bootclasspath: ''{0}''", - currentClasspathName); + session.getUserLogger().log(Level.WARNING, + "Invalid entry in classpath or bootclasspath: ''{0}''", currentClasspathName); } else { - jackLogger.log( + session.getUserLogger().log( Level.WARNING, "Invalid entry in classpath or bootclasspath: " + "missing file ''{0}''", diff --git a/jack/src/com/android/jack/ir/ast/JSession.java b/jack/src/com/android/jack/ir/ast/JSession.java index 6c82d41..dd74d1e 100644 --- a/jack/src/com/android/jack/ir/ast/JSession.java +++ b/jack/src/com/android/jack/ir/ast/JSession.java @@ -34,6 +34,7 @@ import java.util.Collection; import java.util.HashSet; import java.util.List; import java.util.Set; +import java.util.logging.Logger; import javax.annotation.Nonnull; @@ -68,6 +69,9 @@ public class JSession extends JNode { @Nonnull private final List<Resource> resources = new ArrayList<Resource>(); + @Nonnull + private final Logger userLogger = Logger.getLogger("Jack"); + public JSession() { super(SourceInfo.UNKNOWN); topLevelPackage = new JPackage("", this, null); @@ -98,6 +102,11 @@ public class JSession extends JNode { } @Nonnull + public Logger getUserLogger() { + return userLogger; + } + + @Nonnull public SourceInfoFactory getSourceInfoFactory() { return sourceInfoFactory; } diff --git a/jack/src/com/android/jack/jayce/JayceClassOrInterfaceLoader.java b/jack/src/com/android/jack/jayce/JayceClassOrInterfaceLoader.java index 3306c31..3bda605 100644 --- a/jack/src/com/android/jack/jayce/JayceClassOrInterfaceLoader.java +++ b/jack/src/com/android/jack/jayce/JayceClassOrInterfaceLoader.java @@ -66,7 +66,7 @@ public class JayceClassOrInterfaceLoader extends AbtractClassOrInterfaceLoader { CounterImpl.class, Counter.class); @Nonnull - private final Logger logger = LoggerFactory.getLogger(); + private static final Logger logger = LoggerFactory.getLogger(); @Nonnull private final InputVFile source; @@ -134,7 +134,8 @@ public class JayceClassOrInterfaceLoader extends AbtractClassOrInterfaceLoader { JDefinedClassOrInterface loadClassOrInterface(@Nonnull JPackage enclosingPackage, @Nonnull String simpleName) throws JayceFormatException, JayceVersionException, IOException { - DeclaredTypeNode type = getNNode(NodeLevel.TYPES); + DeclaredTypeNode type = + getNNode(NodeLevel.TYPES, enclosingPackage.getSession().getUserLogger()); String expectedSignature = Jack.getLookupFormatter().getName(enclosingPackage, simpleName); if (!type.getSignature().equals(expectedSignature)) { @@ -149,7 +150,7 @@ public class JayceClassOrInterfaceLoader extends AbtractClassOrInterfaceLoader { private JDefinedClassOrInterface create(@Nonnull JSession session) throws JayceFormatException, JayceVersionException, IOException { - DeclaredTypeNode type = getNNode(NodeLevel.TYPES); + DeclaredTypeNode type = getNNode(NodeLevel.TYPES, session.getUserLogger()); String packageQualifiedName = NamingTools.getPackageNameFromBinaryName( NamingTools.getClassBinaryNameFromDescriptor(type.getSignature())); @@ -159,13 +160,13 @@ public class JayceClassOrInterfaceLoader extends AbtractClassOrInterfaceLoader { } @Nonnull - DeclaredTypeNode getNNode(@Nonnull NodeLevel minimumLevel) throws IOException, - JayceFormatException, JayceVersionException { + DeclaredTypeNode getNNode(@Nonnull NodeLevel minimumLevel, @Nonnull Logger userLogger) + throws IOException, JayceFormatException, JayceVersionException { DeclaredTypeNode type = nnode.get(); if (type == null || !type.getLevel().keep(minimumLevel)) { InputStream in = new BufferedInputStream(source.openRead()); try { - JayceReader reader = new JayceReader(in); + JayceReader reader = new JayceReader(in, userLogger); NodeLevel loadLevel = defaultLoadLevel; if (!loadLevel.keep(minimumLevel)) { loadLevel = minimumLevel; @@ -192,7 +193,7 @@ public class JayceClassOrInterfaceLoader extends AbtractClassOrInterfaceLoader { structureLoaded = true; DeclaredTypeNode type; try { - type = getNNode(NodeLevel.STRUCTURE); + type = getNNode(NodeLevel.STRUCTURE, loaded.getSession().getUserLogger()); } catch (IOException e) { throw new JackLoadingException(getLocation(), e); } catch (JackFileException e) { diff --git a/jack/src/com/android/jack/jayce/JayceMethodLoader.java b/jack/src/com/android/jack/jayce/JayceMethodLoader.java index 267ab7a..3b74b83 100644 --- a/jack/src/com/android/jack/jayce/JayceMethodLoader.java +++ b/jack/src/com/android/jack/jayce/JayceMethodLoader.java @@ -94,7 +94,8 @@ public class JayceMethodLoader extends AbstractMethodLoader { JayceVersionException, IOException { MethodNode methodNode = nnode.get(); if (methodNode == null || methodNode.getLevel() != NodeLevel.FULL) { - DeclaredTypeNode declaredTypeNode = enclosingClassLoader.getNNode(NodeLevel.FULL); + DeclaredTypeNode declaredTypeNode = enclosingClassLoader.getNNode(NodeLevel.FULL, + loaded.getEnclosingType().getSession().getUserLogger()); methodNode = declaredTypeNode.getMethodNode(loaded); } return methodNode; diff --git a/jack/src/com/android/jack/jayce/JayceReader.java b/jack/src/com/android/jack/jayce/JayceReader.java index 877a0d8..4e05d09 100644 --- a/jack/src/com/android/jack/jayce/JayceReader.java +++ b/jack/src/com/android/jack/jayce/JayceReader.java @@ -17,11 +17,10 @@ package com.android.jack.jayce; -import com.android.sched.util.log.LoggerFactory; - import java.io.IOException; import java.io.InputStream; import java.util.logging.Level; +import java.util.logging.Logger; import javax.annotation.CheckForNull; import javax.annotation.Nonnull; @@ -49,8 +48,10 @@ public class JayceReader extends JayceProcessor { private final String readerClassName; @CheckForNull private final String emitterId; + @Nonnull + private final Logger userLogger; - public JayceReader(@Nonnull InputStream in) + public JayceReader(@Nonnull InputStream in, @Nonnull Logger userLogger) throws IOException, JayceFormatException { this.in = in; JayceHeader jayceHeader = new JayceHeader(in); @@ -60,6 +61,7 @@ public class JayceReader extends JayceProcessor { emitterId = jayceHeader.getEmitterId(); readerClassName = "com.android.jack.jayce.v" + majorVersionString + ".io.JayceInternalReaderImpl"; + this.userLogger = userLogger; } /** @@ -98,7 +100,7 @@ public class JayceReader extends JayceProcessor { + "File version: " + majorVersion + "." + minorVersion + " - Current version: " + majorVersion + "." + currentMinor); } else if (minorVersion < currentMinor) { - LoggerFactory.getLogger().log(Level.WARNING, + userLogger.log(Level.WARNING, "The version of the jack file is older than the current version but should be supported. " + "File version: {0}.{1} - Current version: {2}.{3}", new Object[] { Integer.valueOf(majorVersion), Integer.valueOf(minorVersion), diff --git a/jack/src/com/android/jack/preprocessor/PreProcessorApplier.java b/jack/src/com/android/jack/preprocessor/PreProcessorApplier.java index a45c671..3701fb3 100644 --- a/jack/src/com/android/jack/preprocessor/PreProcessorApplier.java +++ b/jack/src/com/android/jack/preprocessor/PreProcessorApplier.java @@ -34,6 +34,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.logging.Level; +import java.util.logging.Logger; import javax.annotation.Nonnull; @@ -44,6 +45,9 @@ import javax.annotation.Nonnull; @Support(PreProcessor.class) public class PreProcessorApplier implements RunnableSchedulable<JSession> { + @Nonnull + private static final Logger logger = LoggerFactory.getLogger(); + @Override public void run(@Nonnull JSession session) throws Exception { InputStreamFile input = ThreadConfig.get(PreProcessor.FILE); @@ -70,7 +74,7 @@ public class PreProcessorApplier implements RunnableSchedulable<JSession> { try { inputStream.close(); } catch (IOException e) { - LoggerFactory.getLogger().log(Level.WARNING, "Failed to close input stream on '" + logger.log(Level.WARNING, "Failed to close input stream on '" + input.getLocation().getDescription() + "'", e); } } diff --git a/jack/src/com/android/jack/shrob/obfuscation/MappingApplier.java b/jack/src/com/android/jack/shrob/obfuscation/MappingApplier.java index 20f8946..d7970ba 100644 --- a/jack/src/com/android/jack/shrob/obfuscation/MappingApplier.java +++ b/jack/src/com/android/jack/shrob/obfuscation/MappingApplier.java @@ -73,7 +73,7 @@ public class MappingApplier { private static final char[] END_PARAMETER_STOP_CHARS = new char[] {',', ')'}; @Nonnull - protected final Logger logger = LoggerFactory.getLogger(); + protected static final Logger logger = LoggerFactory.getLogger(); @Nonnull private final TransformationRequest request; diff --git a/jack/src/com/android/jack/shrob/obfuscation/annotation/FieldAnnotationRemover.java b/jack/src/com/android/jack/shrob/obfuscation/annotation/FieldAnnotationRemover.java index ccb25c0..ad376dc 100644 --- a/jack/src/com/android/jack/shrob/obfuscation/annotation/FieldAnnotationRemover.java +++ b/jack/src/com/android/jack/shrob/obfuscation/annotation/FieldAnnotationRemover.java @@ -43,7 +43,7 @@ public class FieldAnnotationRemover extends AnnotationRemover implements RunnableSchedulable<JField> { @Nonnull - private final Logger logger = LoggerFactory.getLogger(); + private static final Logger logger = LoggerFactory.getLogger(); public FieldAnnotationRemover() { super(ThreadConfig.get(EMIT_RUNTIME_VISIBLE_ANNOTATION).booleanValue(), ThreadConfig.get( diff --git a/jack/src/com/android/jack/shrob/obfuscation/annotation/MethodAnnotationRemover.java b/jack/src/com/android/jack/shrob/obfuscation/annotation/MethodAnnotationRemover.java index 3cb58f4..f0fbbf9 100644 --- a/jack/src/com/android/jack/shrob/obfuscation/annotation/MethodAnnotationRemover.java +++ b/jack/src/com/android/jack/shrob/obfuscation/annotation/MethodAnnotationRemover.java @@ -43,7 +43,7 @@ public class MethodAnnotationRemover extends AnnotationRemover implements RunnableSchedulable<JMethod> { @Nonnull - private final Logger logger = LoggerFactory.getLogger(); + private static final Logger logger = LoggerFactory.getLogger(); public MethodAnnotationRemover() { super(ThreadConfig.get(EMIT_RUNTIME_VISIBLE_ANNOTATION).booleanValue(), ThreadConfig.get( diff --git a/jack/src/com/android/jack/shrob/obfuscation/annotation/ParameterAnnotationRemover.java b/jack/src/com/android/jack/shrob/obfuscation/annotation/ParameterAnnotationRemover.java index a63a00c..007b71e 100644 --- a/jack/src/com/android/jack/shrob/obfuscation/annotation/ParameterAnnotationRemover.java +++ b/jack/src/com/android/jack/shrob/obfuscation/annotation/ParameterAnnotationRemover.java @@ -61,7 +61,7 @@ public class ParameterAnnotationRemover extends AnnotationRemover implements "Emit parameters annotations that are runtime invisible").addDefaultValue(Boolean.TRUE); @Nonnull - private final Logger logger = LoggerFactory.getLogger(); + private static final Logger logger = LoggerFactory.getLogger(); public ParameterAnnotationRemover() { super(ThreadConfig.get(EMIT_RUNTIME_VISIBLE_PARAMETER_ANNOTATION).booleanValue(), ThreadConfig diff --git a/jack/src/com/android/jack/shrob/obfuscation/annotation/TypeAnnotationRemover.java b/jack/src/com/android/jack/shrob/obfuscation/annotation/TypeAnnotationRemover.java index 09ed4d5..335bd13 100644 --- a/jack/src/com/android/jack/shrob/obfuscation/annotation/TypeAnnotationRemover.java +++ b/jack/src/com/android/jack/shrob/obfuscation/annotation/TypeAnnotationRemover.java @@ -43,7 +43,7 @@ public class TypeAnnotationRemover extends AnnotationRemover implements RunnableSchedulable<JDefinedClassOrInterface> { @Nonnull - private final Logger logger = LoggerFactory.getLogger(); + private static final Logger logger = LoggerFactory.getLogger(); public TypeAnnotationRemover() { super(ThreadConfig.get(EMIT_RUNTIME_VISIBLE_ANNOTATION).booleanValue(), ThreadConfig.get( diff --git a/jack/src/com/android/jack/shrob/shrink/FieldShrinker.java b/jack/src/com/android/jack/shrob/shrink/FieldShrinker.java index 60c5078..bcf410c 100644 --- a/jack/src/com/android/jack/shrob/shrink/FieldShrinker.java +++ b/jack/src/com/android/jack/shrob/shrink/FieldShrinker.java @@ -41,7 +41,7 @@ import javax.annotation.Nonnull; public class FieldShrinker implements RunnableSchedulable<JField> { @Nonnull - private final Logger logger = LoggerFactory.getLogger(); + private static final Logger logger = LoggerFactory.getLogger(); @Nonnull private final com.android.sched.util.log.Tracer tracer = TracerFactory.getTracer(); diff --git a/jack/src/com/android/jack/shrob/shrink/MethodShrinker.java b/jack/src/com/android/jack/shrob/shrink/MethodShrinker.java index 502eb6e..6f2d9ef 100644 --- a/jack/src/com/android/jack/shrob/shrink/MethodShrinker.java +++ b/jack/src/com/android/jack/shrob/shrink/MethodShrinker.java @@ -41,7 +41,7 @@ import javax.annotation.Nonnull; public class MethodShrinker implements RunnableSchedulable<JMethod> { @Nonnull - private final Logger logger = LoggerFactory.getLogger(); + private static final Logger logger = LoggerFactory.getLogger(); @Nonnull private final com.android.sched.util.log.Tracer tracer = TracerFactory.getTracer(); diff --git a/jack/src/com/android/jack/shrob/shrink/TypeShrinker.java b/jack/src/com/android/jack/shrob/shrink/TypeShrinker.java index 24e5ee7..4f09106 100644 --- a/jack/src/com/android/jack/shrob/shrink/TypeShrinker.java +++ b/jack/src/com/android/jack/shrob/shrink/TypeShrinker.java @@ -52,7 +52,7 @@ import javax.annotation.Nonnull; public class TypeShrinker implements RunnableSchedulable<JDefinedClassOrInterface> { @Nonnull - private final Logger logger = LoggerFactory.getLogger(); + private static final Logger logger = LoggerFactory.getLogger(); @Nonnull private final com.android.sched.util.log.Tracer tracer = TracerFactory.getTracer(); diff --git a/jack/src/com/android/jack/util/ExecuteFile.java b/jack/src/com/android/jack/util/ExecuteFile.java index a17155e..09bbbc5 100644 --- a/jack/src/com/android/jack/util/ExecuteFile.java +++ b/jack/src/com/android/jack/util/ExecuteFile.java @@ -59,7 +59,7 @@ public class ExecuteFile { private boolean verbose; @Nonnull - private final Logger logger; + private static final Logger logger = LoggerFactory.getLogger(); public void setErr(@Nonnull File file) throws FileNotFoundException { errStream = new FileOutputStream(file); @@ -111,7 +111,6 @@ public class ExecuteFile { System.arraycopy(args, 0, cmdLine, 1, args.length); cmdLine[0] = exec.getAbsolutePath(); - logger = LoggerFactory.getLogger(); } public ExecuteFile(@Nonnull String exec, @Nonnull String[] args) { @@ -119,18 +118,15 @@ public class ExecuteFile { System.arraycopy(args, 0, cmdLine, 1, args.length); cmdLine[0] = exec; - logger = LoggerFactory.getLogger(); } public ExecuteFile(@Nonnull File exec) { cmdLine = new String[1]; cmdLine[0] = exec.getAbsolutePath(); - logger = LoggerFactory.getLogger(); } public ExecuteFile(@Nonnull String[] cmdLine) { this.cmdLine = cmdLine.clone(); - logger = LoggerFactory.getLogger(); } public ExecuteFile(@Nonnull String cmdLine) throws IOException { @@ -152,7 +148,6 @@ public class ExecuteFile { } } this.cmdLine = tokens.toArray(new String[0]); - logger = LoggerFactory.getLogger(); } public boolean run() { diff --git a/jack/tests/com/android/jack/shrob/AbstractListingComparator.java b/jack/tests/com/android/jack/shrob/AbstractListingComparator.java index 884ed73..a40855e 100644 --- a/jack/tests/com/android/jack/shrob/AbstractListingComparator.java +++ b/jack/tests/com/android/jack/shrob/AbstractListingComparator.java @@ -55,7 +55,7 @@ public abstract class AbstractListingComparator { private boolean differenceFound = false; @Nonnull - private final Logger logger = LoggerFactory.getLogger(); + private static final Logger logger = LoggerFactory.getLogger(); protected boolean differenceFound() { return differenceFound; |