首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NoSuchMethodError:在类Lsun/util/logging/PlatformLogger中没有静态方法日志

NoSuchMethodError是Java中的一个运行时异常,表示在调用一个方法时找不到该方法。

在这个特定的错误消息中,错误信息指出在类sun/util/logging/PlatformLogger中没有静态方法日志。根据错误消息,可能有以下几种可能的情况:

  1. 方法不存在:在sun/util/logging/PlatformLogger类中确实没有名为“日志”的静态方法。可以通过查看该类的源代码或文档确认。
  2. 版本不匹配:该代码可能是在一个较旧的Java版本中编译的,而在运行时使用了一个不兼容的Java版本。如果这是一个第三方库或框架中的代码,可能需要检查您的项目的依赖关系,并确保使用的库版本与您的Java版本兼容。
  3. 类路径问题:在运行时,可能是加载了一个不正确的类,而不是预期的sun/util/logging/PlatformLogger类。这可能是由于类路径设置不正确或依赖关系问题导致的。检查您的项目配置和依赖关系,并确保正确加载所需的类。

针对此错误,可以尝试以下解决方法:

  1. 检查代码:仔细检查代码,确保准确调用了sun/util/logging/PlatformLogger类的静态方法“日志”,如果存在拼写错误或方法名错误,修正它们。
  2. 检查版本兼容性:确认您的代码与您正在使用的Java版本兼容。如果不兼容,您可以尝试升级您的Java版本或使用与您当前Java版本兼容的库。
  3. 检查类路径:确保正确设置类路径,并且您的项目依赖关系正确配置。如果依赖关系有问题,可能会导致错误加载错误的类。可以尝试重新导入和配置项目依赖关系。

请注意,以上解决方法是基于一般情况下的假设,具体解决方法可能需要根据您的实际情况进行调整。

腾讯云提供了一系列的云计算产品,可以帮助开发人员构建和管理云端应用程序。其中一些与日志记录和错误跟踪相关的产品可能会对解决此类问题有所帮助,例如腾讯云的日志服务CLS(Cloud Log Service),它提供了全面的日志管理解决方案。您可以通过以下链接了解更多信息:

腾讯云日志服务CLS:https://cloud.tencent.com/product/cls

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

你好,SLF4J

尽管现在 log4j 逐渐退出历史舞台,但在当时却备受 Java 开发人员的喜爱,甚至 JDK 1.4 也是借鉴了 log4j 之后,终于官方补齐了日志记录这一短板,它就是j.u.l包。...《阿里 Java 开发手册》中有一条日志规约:【强制】应用不可直接使用日志系统 (log4j、logback) 的 API,而应依赖日志门面 (slf4j、jcl) 的 API 。...毕竟 getSingleton() 方法返回的 StaticLoggerBinder 实例并没有 bind() 方法内使用。...当 StaticLoggerBinder 调用其 getSingleton() 这一静态方法时,JVM 便会执行 StaticLoggerBinder 的()方法,()...方法并不是咱们 Java 代码中直接编写的方法,而是由编译器自动收集静态变量(不包含由 final 关键字修饰的静态常量)的赋值语句和静态初始化代码块合并而产生的;而执行 ()

70820

日志那点事儿——slf4j源码剖析

涉及到的内容:日志系统的关系、Slf4j下载、源文件jar包的使用、Slf4j源码分析、JVM加载机制浅谈   首先八卦一下这个日志家族的成员,下面这张图虽然没有包含全部的内容,但是基本也涵盖了日志系统的基本内容...commons-logging和slf4j都是日志的接口,供用户使用,而没有提供实现!   log4j,logback等等才是日志的真正实现。   ...提取出名字,再填写到getLogger静态方法!...方法,通过getLoggerFactory获取工厂,然后获取日志对象!...JVM,最后的文件都是Class文件,也就是字节码文件,因此需要把该文件加载到JVM才能运行。而加载的过程,只会执行静态代码块。

99150
  • Java日志体系(slf4j)

    我们的代码,不需要显式指定具体日志框架(例如:java.util.logging、logback、log4j),而是使用slf4j的API来记录日志便可,最终日志的格式、记录级别、输出方式等通过具体日志框架的配置来实现...; lLoggerFactory:底层日志框架中日志工厂的中介,再其实现,通过底层日志框架日志工厂获取对应的日志对象; StaticLoggerBinder:静态日志对象绑定,在编译期确定底层日志框架...第一篇的文章,笔者介绍了commons-logging的使用,对于commons-logging来说,无需pom.xml文件单独引入日志实现框架,便可进行日志打印。...,没有具体的实现,所以实际开发总需要单独添加底层日志实现。...比较 (1)slf4j使用了静态绑定方式,实现了与底层日志框架的结合, 避免了commons-logging由于加载器不同导致的日志加载失败情况的发生; (2)slf4j支持参数化日志打印,也就是占位符

    5.1K71

    实用FRIDA进阶:内存漫游、hook anywhere、抓包

    2.1 objection(内存漫游) 列出内存中所有的 # android hooking list classes sun.util.logging.LoggingSupport sun.util.logging.LoggingSupport...$1 sun.util.logging.LoggingSupport$2 sun.util.logging.PlatformLogger sun.util.logging.PlatformLogger$1...sun.util.logging.PlatformLogger$JavaLoggerProxy sun.util.logging.PlatformLogger$Level sun.util.logging.PlatformLogger...在内存中所有已加载的方法搜索包含特定关键词的方法,上文中可以发现,内存已加载的就已经高达11885个了,那么他们的方法一定是的个数的数倍,整个过程会相当庞大和耗时,见下图2-6。...# android hooking search methods display 图2-6 内存搜索所有的方法 列出的所有方法 当搜索到了比较关心的之后,就可以直接查看它有哪些方法,比如我们想要查看

    3.1K11

    实用FRIDA进阶:内存漫游、hook anywhere、抓包

    2.1 objection(内存漫游) 列出内存中所有的 # android hooking list classes sun.util.logging.LoggingSupport sun.util.logging.LoggingSupport...$1 sun.util.logging.LoggingSupport$2 sun.util.logging.PlatformLogger sun.util.logging.PlatformLogger$1...sun.util.logging.PlatformLogger$JavaLoggerProxy sun.util.logging.PlatformLogger$Level sun.util.logging.PlatformLogger...在内存中所有已加载的方法搜索包含特定关键词的方法,上文中可以发现,内存已加载的就已经高达11885个了,那么他们的方法一定是的个数的数倍,整个过程会相当庞大和耗时,见下图2-6。...# android hooking search methods display 图2-6 内存搜索所有的方法 列出的所有方法 当搜索到了比较关心的之后,就可以直接查看它有哪些方法,比如我们想要查看

    2.5K00

    Java日志框架学习--上

    JUL JUL简介 JUL全称 Java Util Logging,它是java原生的日志框架,使用时不需要另外引用第三方的库,相对其他的框架使用方便,学习简单,主要是使用在小型应用。...ensureLogManagerInitialized方法,默认配置文件的加载方法完成 final void ensureLogManagerInitialized() {...ISO8601,也可以指定格式,如:%d{yyyy年MM月dd日 HH:mm:ss} %l 输出日志时间发生的位置,包括名、线程、及代码的行数。...: image.png debug是默认输出级别 配置文件加载时机 LogManager日志管理器规定了下面这种配置文件格式名: 配置文件的加载是静态代码块完成的: static...test.log,旧日志会改名,后缀加上.序号 源码追查: //默认采用日志追加方式 protected void subAppend(LoggingEvent event) { //通过父方法

    47520

    Java日志框架学习--JUL和Log4j--上

    ---- JUL JUL简介 JUL全称 Java Util Logging,它是java原生的日志框架,使用时不需要另外引用第三方的库,相对其他的框架使用方便,学习简单,主要是使用在小型应用。...ensureLogManagerInitialized方法,默认配置文件的加载方法完成 final void ensureLogManagerInitialized() {...ISO8601,也可以指定格式,如:%d{yyyy年MM月dd日 HH:mm:ss} %l 输出日志时间发生的位置,包括名、线程、及代码的行数。...: debug是默认输出级别 ---- 配置文件加载时机 LogManager日志管理器规定了下面这种配置文件格式名: 配置文件的加载是静态代码块完成的: static {...//通过父方法,将日志信息追加写入到我们规定的文件 super.subAppend(event); if(fileName !

    60810

    记录一次 Spring boot 应用排错过程

    开发反馈,突然本地启动不起来了,表象特征就是本地IDEA上运行时,进程卡住也不退出,应用启动时加载相关组件的日志也不输出。症状如下图: ?...问题分析 因为没有有用的日志信息,所以不能从日志这个层面上排查问题。但是像这种没有输出日志的话,一般情况下,肯定是程序内部启动流程卡在什么地方了,只能通过打印下当前线程堆栈信息了解下。...出现NoSuchMethodError异常,是因为调用方法的时候,找不到方法了。一般出现在两个有关联的jar包,但是版本对不上了,也就是常说的jar版本依赖冲突。...查看了下,ObjectUtils是spring-core包里的一个,当前的4.1.3版本确实没有这个unwrapOptional方法,spring-core-5.x的版本才新增了这个方法。...直接移除这个依赖,然后启动系统一切正常,日志打印了Spring加载上线文的信息。 问题总结 定位这个问题的关键在于要了解java中线程堆栈的知识,没有足够异常日志情况下通过线程快照排查问题。

    80610

    记一次SpringBoot项目启动卡住问题排查记录

    开发反馈,突然本地启动不起来了,表象特征就是本地IDEA上运行时,进程卡住也不退出,应用启动时加载相关组件的日志也不输出。症状如下图: ?...问题分析 因为没有有用的日志信息,所以不能从日志这个层面上排查问题。但是像这种没有输出日志的话,一般情况下,肯定是程序内部启动流程卡在什么地方了,只能通过打印下当前线程堆栈信息了解下。...出现NoSuchMethodError异常,是因为调用方法的时候,找不到方法了。一般出现在两个有关联的jar包,但是版本对不上了,也就是常说的jar版本依赖冲突。...查看了下,ObjectUtils是spring-core包里的一个,当前的4.1.3版本确实没有这个unwrapOptional方法,spring-core-5.x的版本才新增了这个方法。...直接移除这个依赖,然后启动系统一切正常,日志打印了Spring加载上线文的信息。 问题总结 定位这个问题的关键在于要了解java中线程堆栈的知识,没有足够异常日志情况下通过线程快照排查问题。

    5.9K20

    log4j日志不输出的问题

    今天服务器上报错,想先去看一下日志进行排查,结果发现日志很久都没有输出过了。从上午排查到下午,刚刚解决,因此记录一下,但现在也只是知其然,并不知其所以然,所以如果大家有什么想法请在下方评论。...先说一下环境,服务器是linux,项目是运行在tomcat下的Spring项目,日志用的是log4j。 首先,从10月13号开始便没有新的日志文件了。...其实也是怪我自己大意,我其实依赖了一个基于Spring Boot的项目(虽然我只是用了里面的一些domain,但因为设计不当,还没有把这些domain单独提成一个_项目),而Spring Boot中一般默认就依赖的...完美,现在是log4j的实现,得到了我想要的操作。...这次Spring Boot帮我们默认启用的是logback,那么有没有什么简单方法可以知道呢?

    2.8K20

    【编程开发】- 01 日志框架

    从Java 1.4版本开始,Java Logging成为Java SE的功能模块,其实现存放在java.util.logging包下。...方法,启动的时候可以通过设置VM参数java.util.logging.config.file指定配置文件。...Java Logging API核心日志对象:java.util.logging.Logger 日志级别:java.util.logging.Level 日志管理器:java.util.logging.LogManager...日志处理器:java.util.logging.Handler 日志过滤器:java.util.logging.Filter 日志格式器:java.util.logging.Formatter 日志记录...总结 相较于JCL的动态绑定机制,SLF4J则简单得多,采用静态绑定机制,可能你还没有很好理解这两者的本质区别,看下图: JCL框架自动检查当前环境是否存在相关日志API,如果有就绑定,注意它内部有个固定的绑定顺序

    1.2K31

    从源码来理解slf4j的绑定,以及logback对配置文件的加载

    slf4j作为一个简单日志门面,为各种loging APIs(像java.util.logging, logback, log4j)提供一个简单统一的接口,有利于维护和各个日志处理方式统一。...org/slf4j/impl/StaticLoggerBinder.class的资源路径,一般而言只有一个,本博客中就在logback的jar,如图 ?   ...那么我们需要换目标跟进了,StaticLoggerBinder只有一段静态块 static { SINGLETON.init(); }   那么我们跟进init方法...也会在classpath寻找配置文件,先找logback.configurationFile、没有则找logback.groovy,若logback.groovy也没有,则找logback-test.xml...,若logback-test.xml还是没有,则找logback.xml,若连logback.xml也没有,那么说明没有配置logback的配置文件,那么logback则会启用默认的配置(日志信息只会打印控制台

    1.3K40

    Java日志体系框架总结:JUL、JCL、SLF4J、Log4j、Logback、Log4j2

    概述 日志记录是应用程序运行必不可少的一部分。具有良好格式和完备信息的日志,可以程序出现问题时帮助开发人员迅速地定位错误的根源。...日志框架主要分两: 真正的日志记录实现,如:log4j、logback; 日志记录相关的封装框架,如:Apache Commons Logging和SLF4J,日志记录实现的基础上提供一个封装的API...日志级别Level JDK的日志API,即java.util.logging.Logging,定义的级别,即java.util.logging.Level,包括OFF、SEVERE、WARNING、INFO...SLF4J在编译时静态绑定真正的Log库,可以OSGI中使用。...LoggerConfig拥有一列的过滤器,这些过滤器将会过来所有的记录日志的事件,只有符合要求的日志才会被传递到Appenders。

    10210

    Java动态代理与静态代理静态代理动态代理

    我们先看一个简单的例子,当我们需要程序中加入方法执行的日志信息的时候,很显然我们最容易想到的实现方法,就是方法前后插入日志记录信息。...这时候就可以代理模式解决这个问题,代理又分为静态代理(Static proxy)和动态代理(Dynamic proxy) 静态代理 静态代理模式,代理与被代理对象必须实现同一个接口,代理专注于实现日志记录需求...void hello(String name) { System.out.println("Hello, " + name); } } 可以看到,在这个没有日志记录的代码...,其只需要专注于实现业务功能,而记录日志的工作则可以交给代理对象来实现,代理对象也要实现Ihello接口: HelloProxy.java package Reflection; import java.util.logging...方法的实现,前后插入了日志记录的方法

    51220

    ClassNotFoundException,NoClassDefFoundError,NoSuchMethodError排查

    前言 使用java开发的过程时常会碰到以上三个错误,其中NoClassDefFoundError、NoSuchMethodError两个error遭遇得会多一些。...这个错误通常是发生在clinit方法,具体可能是静态变量,静态代码块。可参考寒泉子大大写的不可逆的初始化过程 。...NoSuchMethodError 这个比较好理解了,在运行时找不到对应的的对应方法,通常由于jar包依赖冲突导致。...NoSuchMethodError出现是多半是存在两个同fully qualified name的class,刚好优先加载到了少了方法的那个。...使用方法是,在对应的pom文件右键选择maven菜单的tree子菜单即可生成tree.txt文件,这个操作等同于pom文件所在的子module里mvn dependency:tree -Dverbose

    2K30

    SpringBoot 系列-日志详解

    日志系统应用程序生命周期的早期初始化。因此,通过 @PropertySource 注释加载的属性文件是找不到日志属性的。另外,logging 属性独立于实际的logging 基础结构。...可以通过路径包含适当的库来激活各种日志系统,还可以通过路径的根目录中提供适当的配置文件或在 Spring 环境的 logging.config 属性指定的位置提供适当的配置文件来进一步定制日志系统...另外官方文档中有明确提到,JUL(ava Util Logging) FATJAR 场景下存在一些已知的加载问题,所以要尽量避免 FATJAR 场景下使用 JUL。...,如果存在则通过反射构建类型为 entry.getValue() 的对象;SYSTEMS 是 LoggingSystem 抽象的一个静态的 MAP 结构变量,其初始化是静态代码块完成的: static...AbstractLoggingSystem 处理逻辑 beforeInitialize AbstractLoggingSystem 没有具体的处理逻辑,是个空方法,所以主要是看下 initialize

    1.8K30
    领券