运行我的测试日志记录代码时,我得到一个窗口,上面写着“发生了 Java 异常”

Posted

技术标签:

【中文标题】运行我的测试日志记录代码时,我得到一个窗口,上面写着“发生了 Java 异常”【英文标题】:When running my test logging code, I got a window that said "A java exception has occurred" 【发布时间】:2022-01-24 02:02:33 【问题描述】:

这里是初学者。它还留下了一些调试信息,但我不知道这是什么意思。

import java.sql.SQLException;
import org.apache.log4j.*;  
  
public class Example  
  
static Logger Log = Logger.getLogger(Example.class);  
   
   public static void main(String[] args)throws IOException,SQLException
     
      Log.debug("Hello this is a debug message");  
      Log.info("Hello this is an info message");  
     
  

错误信息:

    at org.apache.logging.slf4j.SLF4JLoggerContext.getLogger(SLF4JLoggerContext.java:39)
    at org.apache.log4j.Category.<init>(Category.java:82)
    at org.apache.log4j.Logger.<init>(Logger.java:33)
    at org.apache.log4j.Category$PrivateAdapter.newLogger(Category.java:523)
    at org.apache.log4j.Category.getInstance(Category.java:124)
    at org.apache.log4j.Category.getInstance(Category.java:104)
    at org.apache.log4j.Category.getInstance(Category.java:134)
    at org.apache.log4j.Logger.getLogger(Logger.java:41)
    at Example.<clinit>(Example.java:7)
Caused by: java.lang.ClassNotFoundException: org.slf4j.Logger
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    ... 9 more

任何帮助将不胜感激。

【问题讨论】:

您的类路径中需要有 slf4j jar。 【参考方案1】:

你需要声明依赖。如果您使用的是 maven,请将以下内容添加到 pom.xml

<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core -->
<dependencies>
  <dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.17.0</version>
  </dependency>
  <dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.17.0</version>
  </dependency>
</dependencies>

或者,如果您使用的是 gradle,请将以下内容添加到 build.gradle

dependencies 
  compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.17.0'
  compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.17.0'

【讨论】:

以上是关于运行我的测试日志记录代码时,我得到一个窗口,上面写着“发生了 Java 异常”的主要内容,如果未能解决你的问题,请参考以下文章

我在用VS2015(安装时上面写了一个community,我是在官网上下载的,一些网友推荐的)学习C,

运行 UI 测试时无法捕获视图层次结构

运行单元测试时禁用winston日志记录?

使用UnitTests c#进行测试时,请进行NLog日志记录

Python 记录器 - 将 STDOUT 重定向到日志文件以及任何调试消息

运行 UI 自动化测试时如何忽略/停止推送器从日志记录到控制台