无法加载类'org.slf4j.impl.StaticLoggerBinder'

时间:2012-10-29 23:56:47

标签: java slf4j logback

我创建了一个包含所有依赖项的jar文件,并使用slf4j + logback实现了日志记录。因此,我为所有记录器定义了logback.xml文件。但是,当我运行jar时,它给了我这条消息:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

我没有看到任何记录发生。解压缩jar文件后,我可以看到org.slf4j文件夹。我不知道为什么这不起作用。

3 个答案:

答案 0 :(得分:3)

来自http://www.slf4j.org/codes.html#StaticLoggerBinder(邮件中的链接):

  

org.slf4j.impl.StaticLoggerBinder时会报告此错误   class无法加载到内存中。没有时会发生这种情况   可以在类路径上找到适当的SLF4J绑定。配售   一个(也是唯一一个)slf4j-nop.jar,slf4j-simple.jar,   slf4j-log4j12.jar,slf4j-jdk14.jar或类中的logback-classic.jar   路径应该解决问题。 SINCE 1.6.0从SLF4J版本1.6开始,在   如果没有绑定,SLF4J将默认为无操作(NOP)   记录器实现。你可以从下载SLF4J绑定   项目下载页面。

换句话说,您需要在类路径中使用slf4j后端,例如:的logback。

答案 1 :(得分:2)

类路径似乎缺少logback-classic.jar

看看http://slf4j.org/manual.html#swapping

答案 2 :(得分:0)

这是一个scala项目吗?如果是,则添加以下依赖项将有所帮助。它对我有用。

class CareerMailer < ApplicationMailer
default :from => 'support@gmail.com'

  def send_career_email(user,attachment)
    @user = user
    email='me@gmail.com'
    attachments["file-name.docx"] = File.read("#{attachment}",mode: "rb") {|io| a = a + io.read}	
    mail( :to => email,
          :subject => 'You have been signed up' )
  end
end