Search in sources :

Example 11 with Logger

use of com.intellij.openapi.diagnostic.Logger in project android by JetBrains.

the class RenderErrorContributor method reportRelevantCompilationErrors.

private void reportRelevantCompilationErrors(@NotNull RenderLogger logger, @NotNull RenderTask renderTask) {
    Module module = logger.getModule();
    if (module == null) {
        return;
    }
    Project project = module.getProject();
    WolfTheProblemSolver wolfgang = WolfTheProblemSolver.getInstance(project);
    if (!wolfgang.hasProblemFilesBeneath(module)) {
        return;
    }
    HtmlBuilder builder = new HtmlBuilder();
    String summary = null;
    if (logger.seenTagPrefix(TAG_RESOURCES_PREFIX)) {
        // Do we have errors in the res/ files?
        // See if it looks like we have aapt problems
        boolean haveResourceErrors = wolfgang.hasProblemFilesBeneath(virtualFile -> virtualFile.getFileType() == StdFileTypes.XML);
        if (haveResourceErrors) {
            summary = "Resource errors";
            builder.addBold("This project contains resource errors, so aapt did not succeed, " + "which can cause rendering failures. Fix resource problems first.").newline().newline();
        }
    } else if (renderTask.getLayoutlibCallback().isUsed()) {
        boolean hasJavaErrors = wolfgang.hasProblemFilesBeneath(virtualFile -> virtualFile.getFileType() == StdFileTypes.JAVA);
        if (hasJavaErrors) {
            summary = "Compilation errors";
            builder.addBold("This project contains Java compilation errors, " + "which can cause rendering failures for custom views. " + "Fix compilation problems first.").newline().newline();
        }
    }
    if (summary == null) {
        return;
    }
    addIssue().setSeverity(HighlightSeverity.ERROR).setSummary(summary).setHtmlContent(builder).build();
}
Also used : AndroidSdkType(org.jetbrains.android.sdk.AndroidSdkType) ResourceHelper.isViewPackageNeeded(com.android.tools.idea.res.ResourceHelper.isViewPackageNeeded) HyperlinkEvent(javax.swing.event.HyperlinkEvent) ResourceResolver(com.android.ide.common.resources.ResourceResolver) XmlFile(com.intellij.psi.xml.XmlFile) AndroidPlatform(org.jetbrains.android.sdk.AndroidPlatform) HighlightSeverity(com.intellij.lang.annotation.HighlightSeverity) JavaSdk(com.intellij.openapi.projectRoots.JavaSdk) VisibleForTesting(com.android.annotations.VisibleForTesting) Matcher(java.util.regex.Matcher) RenderErrorPanel(com.android.tools.idea.rendering.errors.ui.RenderErrorPanel) Messages(com.intellij.openapi.ui.Messages) AttributeDefinition(org.jetbrains.android.dom.attrs.AttributeDefinition) Logger(com.intellij.openapi.diagnostic.Logger) Module(com.intellij.openapi.module.Module) LintUtils.editDistance(com.android.tools.lint.detector.api.LintUtils.editDistance) XmlTag(com.intellij.psi.xml.XmlTag) JpsJavaCompilerOptions(org.jetbrains.jps.model.java.compiler.JpsJavaCompilerOptions) AndroidModuleInfo(com.android.tools.idea.model.AndroidModuleInfo) AndroidSdks(com.android.tools.idea.sdk.AndroidSdks) IndexNotReadyException(com.intellij.openapi.project.IndexNotReadyException) GlobalSearchScope(com.intellij.psi.search.GlobalSearchScope) Sets(com.google.common.collect.Sets) IAndroidTarget(com.android.sdklib.IAndroidTarget) Nullable(org.jetbrains.annotations.Nullable) HTMLDocument(javax.swing.text.html.HTMLDocument) ModuleRootManager(com.intellij.openapi.roots.ModuleRootManager) ProjectJdkTable(com.intellij.openapi.projectRoots.ProjectJdkTable) LayoutLog(com.android.ide.common.rendering.api.LayoutLog) AttributeFormat(org.jetbrains.android.dom.attrs.AttributeFormat) AndroidSdkAdditionalData(org.jetbrains.android.sdk.AndroidSdkAdditionalData) ApplicationManager(com.intellij.openapi.application.ApplicationManager) ClassInheritorsSearch(com.intellij.psi.search.searches.ClassInheritorsSearch) Pattern(java.util.regex.Pattern) NotNull(org.jetbrains.annotations.NotNull) CompilerManager(com.intellij.openapi.compiler.CompilerManager) CopyPasteManager(com.intellij.openapi.ide.CopyPasteManager) Application(org.jetbrains.android.dom.manifest.Application) java.util(java.util) ShowSettingsUtil(com.intellij.openapi.options.ShowSettingsUtil) DataContext(com.intellij.openapi.actionSystem.DataContext) AndroidManifest(com.android.xml.AndroidManifest) SdkConstants(com.android.SdkConstants) JavaPsiFacade(com.intellij.psi.JavaPsiFacade) Manifest(org.jetbrains.android.dom.manifest.Manifest) TAG_STILL_BUILDING(com.android.tools.idea.rendering.RenderLogger.TAG_STILL_BUILDING) LintUtils.stripIdPrefix(com.android.tools.lint.detector.api.LintUtils.stripIdPrefix) Computable(com.intellij.openapi.util.Computable) JavaSdkVersion(com.intellij.openapi.projectRoots.JavaSdkVersion) EditorDesignSurface(com.android.tools.idea.ui.designer.EditorDesignSurface) JAVA_VERSION(com.intellij.openapi.util.SystemInfo.JAVA_VERSION) PsiClass(com.intellij.psi.PsiClass) Lists(com.google.common.collect.Lists) Density(com.android.resources.Density) RenderSessionImpl(com.android.layoutlib.bridge.impl.RenderSessionImpl) StringSelection(java.awt.datatransfer.StringSelection) Project(com.intellij.openapi.project.Project) PsiFile(com.intellij.psi.PsiFile) RenderErrorModel(com.android.tools.idea.rendering.errors.ui.RenderErrorModel) HyperlinkListener(javax.swing.event.HyperlinkListener) AndroidTargetData(org.jetbrains.android.sdk.AndroidTargetData) StdFileTypes(com.intellij.openapi.fileTypes.StdFileTypes) StringUtil(com.intellij.openapi.util.text.StringUtil) HtmlBuilder(com.android.utils.HtmlBuilder) JavacConfiguration(com.intellij.compiler.impl.javaCompiler.javac.JavacConfiguration) Throwables(com.google.common.base.Throwables) AttributeDefinitions(org.jetbrains.android.dom.attrs.AttributeDefinitions) HTMLFrameHyperlinkEvent(javax.swing.text.html.HTMLFrameHyperlinkEvent) AndroidFacet(org.jetbrains.android.facet.AndroidFacet) IOException(java.io.IOException) ClasspathEditor(com.intellij.openapi.roots.ui.configuration.ClasspathEditor) Sdk(com.intellij.openapi.projectRoots.Sdk) ModulesConfigurator(com.intellij.openapi.roots.ui.configuration.ModulesConfigurator) SystemInfo(com.intellij.openapi.util.SystemInfo) File(java.io.File) ExtensionPointName(com.intellij.openapi.extensions.ExtensionPointName) TAG_RESOURCES_RESOLVE_THEME_ATTR(com.android.ide.common.rendering.api.LayoutLog.TAG_RESOURCES_RESOLVE_THEME_ATTR) WolfTheProblemSolver(com.intellij.problems.WolfTheProblemSolver) ProjectStructureConfigurable(com.intellij.openapi.roots.ui.configuration.ProjectStructureConfigurable) javax.swing(javax.swing) TAG_RESOURCES_PREFIX(com.android.ide.common.rendering.api.LayoutLog.TAG_RESOURCES_PREFIX) Project(com.intellij.openapi.project.Project) HtmlBuilder(com.android.utils.HtmlBuilder) Module(com.intellij.openapi.module.Module) WolfTheProblemSolver(com.intellij.problems.WolfTheProblemSolver)

Example 12 with Logger

use of com.intellij.openapi.diagnostic.Logger in project intellij-elixir by KronicDeth.

the class CallDefinitionClause method renderObject.

private void renderObject(@NotNull LookupElement lookupElement) {
    Logger logger = Logger.getInstance(CallDefinitionClause.class);
    Object object = lookupElement.getObject();
    String userMessage = "CallDefinitionClause render called on LookupElement with null getPsiElement\n" + "## name\n" + "\n" + "```\n" + name + "\n" + "```\n" + "\n" + "## getObject()\n" + "\n" + "### toString()\n" + "\n" + "```\n" + object.toString() + "\n" + "```\n" + "\n" + "### getClass().getName()\n" + "\n" + "```\n" + object.getClass().getName() + "\n" + "```\n";
    String details = Joiner.on("\n").join(new Throwable().getStackTrace());
    String title = "CallDefinitionClause render called on LookupElement with null getPsiElement";
    logger.error(LogMessageEx.createEvent(userMessage, details, title, null, (Attachment) null));
}
Also used : Attachment(com.intellij.openapi.diagnostic.Attachment) Logger(com.intellij.openapi.diagnostic.Logger)

Example 13 with Logger

use of com.intellij.openapi.diagnostic.Logger in project intellij-community by JetBrains.

the class PortUnificationServerHandler method decode.

protected void decode(@NotNull ChannelHandlerContext context, @NotNull ByteBuf buffer) throws Exception {
    ChannelPipeline pipeline = context.pipeline();
    if (detectSsl && SslHandler.isEncrypted(buffer)) {
        SSLEngine engine = SSL_SERVER_CONTEXT.getValue().createSSLEngine();
        engine.setUseClientMode(false);
        pipeline.addLast(new SslHandler(engine), new ChunkedWriteHandler(), new PortUnificationServerHandler(delegatingHttpRequestHandler, false, detectGzip));
    } else {
        int magic1 = buffer.getUnsignedByte(buffer.readerIndex());
        int magic2 = buffer.getUnsignedByte(buffer.readerIndex() + 1);
        if (detectGzip && magic1 == 31 && magic2 == 139) {
            pipeline.addLast(ZlibCodecFactory.newZlibEncoder(ZlibWrapper.GZIP), ZlibCodecFactory.newZlibDecoder(ZlibWrapper.GZIP), new PortUnificationServerHandler(delegatingHttpRequestHandler, detectSsl, false));
        } else if (isHttp(magic1, magic2)) {
            NettyUtil.addHttpServerCodec(pipeline);
            pipeline.addLast("delegatingHttpHandler", delegatingHttpRequestHandler);
            final Logger logger = Logger.getInstance(BuiltInServer.class);
            if (logger.isDebugEnabled()) {
                pipeline.addLast(new ChannelOutboundHandlerAdapter() {

                    @Override
                    public void write(ChannelHandlerContext context, Object message, ChannelPromise promise) throws Exception {
                        if (message instanceof HttpResponse) {
                            HttpResponse response = (HttpResponse) message;
                            logger.debug("OUT HTTP: " + response.toString());
                        }
                        super.write(context, message, promise);
                    }
                });
            }
        } else if (magic1 == 'C' && magic2 == 'H') {
            buffer.skipBytes(2);
            pipeline.addLast(new CustomHandlerDelegator());
        } else {
            Logger.getInstance(BuiltInServer.class).warn("unknown request, first two bytes " + magic1 + " " + magic2);
            context.close();
        }
    }
    // must be after new channels handlers addition (netty bug?)
    pipeline.remove(this);
    // Buffer will be automatically released after messageReceived, but we pass it to next handler, and next handler will also release, so, we must retain.
    // We can introduce Decoder.isAutoRelease, but in this case, if error will be thrown while we are executing, buffer will not be released.
    // So, it is robust solution just always release (Decoder does) and just retain (we - client) if autorelease behavior is not suitable.
    buffer.retain();
    // we must fire channel read - new added handler must read buffer
    context.fireChannelRead(buffer);
}
Also used : SSLEngine(javax.net.ssl.SSLEngine) HttpResponse(io.netty.handler.codec.http.HttpResponse) Logger(com.intellij.openapi.diagnostic.Logger) SslHandler(io.netty.handler.ssl.SslHandler) ChunkedWriteHandler(io.netty.handler.stream.ChunkedWriteHandler)

Example 14 with Logger

use of com.intellij.openapi.diagnostic.Logger in project intellij-community by JetBrains.

the class UnsupportedFeaturesUtil method fillMaps.

private static void fillMaps() throws IOException {
    Logger log = Logger.getInstance(UnsupportedFeaturesUtil.class.getName());
    FileReader reader = new FileReader(PythonHelpersLocator.getHelperPath("/tools/versions.xml"));
    try {
        XMLReader xr = XMLReaderFactory.createXMLReader();
        VersionsParser parser = new VersionsParser();
        xr.setContentHandler(parser);
        xr.parse(new InputSource(reader));
    } catch (SAXException e) {
        log.error("Improperly formed \"versions.xml\". " + e.getMessage());
    } finally {
        reader.close();
    }
}
Also used : InputSource(org.xml.sax.InputSource) FileReader(java.io.FileReader) Logger(com.intellij.openapi.diagnostic.Logger) XMLReader(org.xml.sax.XMLReader) SAXException(org.xml.sax.SAXException)

Example 15 with Logger

use of com.intellij.openapi.diagnostic.Logger in project android by JetBrains.

the class SdkModuleSetupStep method logAndroidSdkHomeNotFound.

private static void logAndroidSdkHomeNotFound() {
    Logger log = getLog();
    log.warn("Path to Android SDK not set");
    List<Sdk> sdks = IdeSdks.getInstance().getEligibleAndroidSdks();
    log.warn("# of eligible SDKs: " + sdks.size());
    for (Sdk sdk : sdks) {
        log.info("sdk: " + sdk.toString());
    }
}
Also used : Sdk(com.intellij.openapi.projectRoots.Sdk) Logger(com.intellij.openapi.diagnostic.Logger)

Aggregations

Logger (com.intellij.openapi.diagnostic.Logger)17 Nullable (org.jetbrains.annotations.Nullable)5 File (java.io.File)3 StringUtil (com.intellij.openapi.util.text.StringUtil)2 IOException (java.io.IOException)2 java.util (java.util)2 NotNull (org.jetbrains.annotations.NotNull)2 SdkConstants (com.android.SdkConstants)1 VisibleForTesting (com.android.annotations.VisibleForTesting)1 CollectingOutputReceiver (com.android.ddmlib.CollectingOutputReceiver)1 LayoutLog (com.android.ide.common.rendering.api.LayoutLog)1 TAG_RESOURCES_PREFIX (com.android.ide.common.rendering.api.LayoutLog.TAG_RESOURCES_PREFIX)1 TAG_RESOURCES_RESOLVE_THEME_ATTR (com.android.ide.common.rendering.api.LayoutLog.TAG_RESOURCES_RESOLVE_THEME_ATTR)1 ResourceResolver (com.android.ide.common.resources.ResourceResolver)1 RenderSessionImpl (com.android.layoutlib.bridge.impl.RenderSessionImpl)1 Density (com.android.resources.Density)1 IAndroidTarget (com.android.sdklib.IAndroidTarget)1 AndroidModuleInfo (com.android.tools.idea.model.AndroidModuleInfo)1 TAG_STILL_BUILDING (com.android.tools.idea.rendering.RenderLogger.TAG_STILL_BUILDING)1 RenderErrorModel (com.android.tools.idea.rendering.errors.ui.RenderErrorModel)1