Tag: slf4j

Eclipse RCP插件中的多个slf4j绑定

我有一个简单的Eclipse插件,它让我在激活时出现以下错误: SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [bundleresource://103.fwk8918249:1/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [bundleresource://103.fwk8918249:4/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. 两个URL都解析为捆绑中完全相同的jar libs/slf4j-log4j12.jar!/org/slf4j/impl/StaticLoggerBinder.class 我该如何解决这个问题? 怎么捆绑jar加载jar子两次(“:1”和“:4”)?

只有在第二次尝试后,maven安装抛出“打开zip文件时出错”

我尝试使用一些依赖项在我的项目上运行maven install: log4j log4j 1.2.15 org.slf4j slf4j-log4j12 1.5.2 ch.qos.logback logback-classic 0.9.24 org.hibernate hibernate-core 3.3.2.GA org.hibernate hibernate-annotations 3.4.0.GA 我第一次运行mvn install它运行得很好(BUILD SUCCESS)但是第二次(“我在代码中做了一些更改之后”)我尝试运行mvn install并且maven抛出“打开zip文件时出错”。 [ERROR] error: error reading C:\Users\Idan\.m2\repository\javax\jms\jms\1.1\jms- 1.1.jar; error in opening zip file [ERROR] error: error reading C:\Users\Idan\.m2\repository\com\sun\jdmk\jmxtools\1.2.1\jmxtools-1.2.1.jar; error in opening zip file [ERROR] error: error reading C:\Users\Idan\.m2\repository\com\sun\jmx\jmxri\1.2.1\jmxri-1.2.1.jar; error in opening zip file [ERROR] error: error […]

Kafka:如何启用客户端日志记录?

当我实例化Kafka消费者时 KafkaConsumer consumer = new KafkaConsumer(props); 我收到这条消息 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. 如何为客户端程序启用日志记录?

Logback – 打印调用日志方法的方法名称

在我的示例中,我有以下代码: package com.example.somepackage; public class Example { public static void main(String[] args) { org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(Example.class); logger.info(“Example message.”); } } 我希望它像这个最小的例子一样输出到控制台: com.example.somepackage.Example.main Example message. 我唯一需要的是: 要放入logback.xml文件的模式或 有关我需要添加到示例代码场景中的更多代码的说明 如果使用额外的代码而不是XML配置模式,请同时提供有关如何配对这两者的信息,因此除了打印出的方法名称之外,还可以使用时间,日志级别等模式。

如何使用SLF4J和Log4j2记录FATAL(或任何自定义日志级别)

我有这些具体要求 : 需要能够登录致命等级 需要使用SLF4J 需要使用Log4j2 现在,这是我的实现 : final Logger logger = LoggerFactory.getLogger(HelloWorld.class); final Marker marker = MarkerFactory.getMarker(“FATAL”); logger.error(marker, “!!! Fatal World !!!”); 这是我的PatternLayout (在yaml中) : PatternLayout: Pattern: “%d{ISO8601_BASIC} %-5level %marker [%t] %logger{3.} – %msg%n” 这是我的日志输出 : 20150506T155705,158 ERROR FATAL [main] – !!! Fatal World !!! 您是否知道如何有效地从日志输出中删除“错误”? 非常感谢你

将项目从log4j迁移到slf4j + log4j

我有一个直接使用log4j的大型Web项目,以及许多第三方库和各种日志库。 我们的代码库 – 直接使用log4j。 Hibernate – 使用slf4j和slf4j-log4j绑定。 Spring – 使用commons-loggings。 因此,它使用jcl-over-slf4j桥接api,slf4j本身和slf4j-log4j绑定。 其他众多的库,使用commons loggings或log4j。 我正在考虑将我们自己的代码库迁移到slf4j api,但我不确定这些好处是否足够强大且值得付出努力。 目前我知道以下好处: 清洁api。 性能改进 – 即使用参数化日志记录方法的能力。 能够在将来轻松切换到回溯(目前无法进行回退)。 不需要额外的jar子,因为我已经拥有它们。 还有其他好处吗? 有什么我不知道的缺点吗?

Logback:通过filter修改消息?

匹配filter后可以修改日志事件吗? 我有一个Web容器(Jersey),它在ERROR级别记录未捕获的exception。 但是,对于服务器(Jetty)抛出的某些exception(EofException),我想将它们记录在较低级别(INFO)。 我可以使用与exception类型(EofException)匹配的Logbackfilter完全删除这些消息。 但是我没有找到一种支持的方法来修改日志事件,例如,更改日志级别。

在Junit测试期间如何将日志级别设置为DEBUG?

我正在使用SLF4J和LOG4J,配置通常在log4j.properties ,它将日志级别设置为INFO。 但是在测试期间,我想将日志设置为DEBUG。 我看不到自动化这种方法的方法,也没有像log4j.tests.properties这样只能在测试期间加载的东西。 所以我尝试在测试设置(@BeforeClass)中以编程方式执行此操作: LogManager.getRootLogger().setLevel(Level.ALL); 没有成功…… 我正在使用这些版本: org.slf4j slf4j-api 1.7.5 org.slf4j slf4j-log4j12 1.7.5 我怎样才能达到这个效果? 编辑:我想我不够清楚。 这个问题不是关于设置正确的日志级别…它是关于在运行Junit测试时设置DEBUG日志级别,以及在任何其他情况下设置INFO日志级别。 我想自动化这个。

如何使用logback防止日志轰炸?

我不确定“轰炸”一词是否合适。 通过轰炸,我的意思是使用相同的内容(消息和args)多次发生日志。 例如,拒绝服务附加可能会导致未经身份validation的用户尝试访问某些API的日志警告。 日志: [03-29 11:26:01.000] missing token [03-29 11:26:01.001] missing token [03-29 11:26:01.005] missing token … overall 100000 times 我试图解决的问题是防止日志非常大。 尺寸是个问题。 此外,由于重复消息的数量过多,可能无法看到其他重要消息。 我希望能够防止这样的日志轰炸,并有一些汇总的消息,如: [03-29 11:26:01.000] missing token [03-29 11:26:06.000] missing token [silenced. Overall 100000 times] 所以,我在这里寻找2个function: 沉默太重复的日志。 显示沉默日志的总结。 知道是否以及如何使用logback完成此操作? 也许另一个日志工具可以支持这个? 谢谢。

如何使用Log4j和Storm Framework将日志写入文件?

我在使用log4j在风暴中记录到文件时遇到了一些问题。 在提交我的拓扑之前,即在我的main方法中,我编写了一些日志语句并使用以下命令配置了记录器: PropertyConfigurator.configure(myLog4jProperties) 现在,当我在eclipse中使用我的可执行jar运行我的拓扑时 – 它正常工作并且正在创建日志文件。 要么 当我使用“java -jar MyJarFile someOtherOptions”运行我的可执行jar时,我可以看到log4j正在配置并且文件正确形成并且在两个文件和控制台上都进行了日志记录(在我的log4j.properties中定义) 但是,当我使用“风暴jar MyJarFile MyMainClass someOtherOptions”运行相同的jar时,它无法创建并登录到除控制台之外的任何文件。 我正在谈论我在提交拓扑之前打印的日志。 有没有办法在使用storm时将我的语句记录在文件中? 我不一定要使用org.apache.log4j 。