我创建了一个包含所有依赖项的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文件夹。我不知道为什么这不起作用。
答案 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
。
答案 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