- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 Eclipse 项目中使用 log4j.2.x 进行日志记录。我命名为 log4j2.xml 的 conf 文件直接在 java 项目下,我在类路径中有必要的 jars。测试时,我看到以下错误消息。谁能告诉我这个问题的解决方案?
log4j2.xml:
<?xml version="1.0" encoding="UTF-8"?> <configuration status="WARN"> <appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console> </appenders> <loggers>
<root level="error">
<appender-ref ref="Console"/>
</root> </loggers></configuration>
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/ILoggerFactory
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at org.apache.logging.slf4j.SLF4JLoggerContextFactory.<init>(SLF4JLoggerContextFactory.java:34)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at java.lang.Class.newInstance0(Class.java:372)
at java.lang.Class.newInstance(Class.java:325)
at org.apache.logging.log4j.LogManager.<clinit>(LogManager.java:84)
at Browserbot.<clinit>(Browserbot.java:17)Caused by: java.lang.ClassNotFoundException: org.slf4j.ILoggerFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356) ... 23 more
public class Browserbot {
static Logger logger = LogManager.getLogger(Browserbot.class.getName());
public static void main(String[] args){
logger.error("File Not Found");}}
最佳答案
您失踪了 slf4j.jar
运行程序时在您的类路径中。要了解 slf4j 和 log4j 之间的依赖关系、下载 jar 等,请访问以下链接:
http://www.slf4j.org
关于java - 线程 "main"java.lang.NoClassDefFoundError : org/slf4j/ILoggerFactory 中的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18421091/
创建 ILogger在扩展方法中,我存储了一个 ILoggerFactory在静态类中 public static class ApplicationLogging { public stat
我将我的项目升级到 .NET Core 2.2.x 并收到关于以下代码的过时警告 - 两行: public void Configure(IApplicationBuilder app,
我使用 C# 创建了一个简单的 Azure 函数,我想为其他类库实现 ILoggerFactory。这是我的代码。 MyFunction => Class1 => Class2 namespace F
我想将 Microsoft.Extensions.Logging 与 DryIoc 容器一起使用。 默认方式是将工厂注册为实例,注入(inject)并创建记录器: ILoggerFactory log
我有一个需要无参数构造函数的现有类。我想记录一个错误和其中的一些其他数据。在我的应用程序的其他任何地方,我都将 ILoggerFactory 放在我的构造函数中,DI 会处理它,因此我可以记录等等。由
private ILoggerFactory ConfigureLogging(ILoggerFactory factory) { factory.AddConsole();
我已阅读 this但它适用于 asp.net 核心。我的以下代码适用于非网络 控制台应用程序。 Visual Studio 告诉我 AddConsole(this ILoggerFactory,...
我正在尝试将 NLog 作为提供程序添加到我的 startup.cs 文件中的记录器工厂,但我似乎无法添加它。我见过的所有例子都是这样做的: loggerFactory.AddNLog(new glo
上周将我的 Windows 服务应用程序部署到生产环境失败,所以我尝试在本地以 Release模式运行该项目并得到 InvalidOperationException: Can not determi
在我新的 asp.net 5 应用程序中,我有这个错误: Could not load file or assembly 'Microsoft.Framework.Logging.ILoggerFac
我正在尝试将异常记录到 Application Insights。我通过直接调用 TelemetryClient.TrackException 成功地做到了这一点。但是,我想在我的代码中对此进行抽象,
我正在尝试写入 .netcore/c# 中的自定义事件源,但还没有找到指定 .net core 记录器对象的目标源的方法。在这种情况下,我想写入“我的事件日志”而不是应用程序日志。下面的代码成功写入应
大家 我正在尝试对我的代码进行单元测试,但是我无法让 ILoggerFactory 工作 这是我的单元测试代码(可能不正确): using NUnit.Framework; using Microso
大家 我正在尝试对我的代码进行单元测试,但是我无法让 ILoggerFactory 工作 这是我的单元测试代码(可能不正确): using NUnit.Framework; using Microso
我的 asp.net core 2.x 应用程序有典型的日志记录要求: 在生产中使用应用洞察力, 在开发环境中控制台和调试记录器 根据类别和日志级别设置一些过滤器 现在我看到至少三个不同的 API 来
MS 文档文章 "Introduction to Logging in ASP.NET Core"给出了2个构造函数注入(inject)的例子 使用ILogger private readonly I
这可能与Pass ILogger or ILoggerFactory to constructors in AspNet Core?有点关系,但是这是专门针对库设计的,而不是关于使用这些库的实际应用程
我正在尝试在 Eclipse 项目中使用 log4j.2.x 进行日志记录。我命名为 log4j2.xml 的 conf 文件直接在 java 项目下,我在类路径中有必要的 jars。测试时,我看到以
我使用 asp.net core 1.1 组合了一个简单的控制台应用程序。我设置了 Kestrel 托管并使用了一个 Configure 方法来注入(inject)IApplicationBuilde
我正在处理一个使用简单注入(inject)器作为依赖注入(inject)器的项目。另一方面,该项目使用 Microsoft.Extensions.Logging 来记录某些类中发生的事件。 我的技术问
我是一名优秀的程序员,十分优秀!