谁能告诉我 slf4j-log4j 和 log4j-over-slf4j 之间的区别?在 Java Web 应用程序中使用哪个更标准?我目前在类路径上都有这两个,这导致运行时异常,因为 Web 服务器试图阻止 StackOverFlowException 发生。
异常:
java.lang.IllegalStateException:
Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path
最佳答案
slf4j-log4j正在使用 log4j 作为 slf4j 的实现。
log4j-over-slf4j导致对 log4j API 的调用“路由”到 slf4j。
You cannot use both of these JAR's at the same time.
两者都是可用的有效库并且同样是“标准”,这取决于项目。
一般来说,如果您的项目已经在使用 log4j 而您没有能力将所有 log4j 记录器更新为 slf4j 记录器; log4j-over-slf4j 是一种快速修复,可以立即开始使用 slf4j。
但是,如果您的项目是新的或没有现有的日志记录机制并且您选择使用 slf4j,slf4j-log4j 将是可行的方法,因为它只是指定 slf4j 应该绑定(bind)到 log4j。
话虽如此,我同意 c12 的评论。停止使用 log4j,改用 slf4j 和 logback。
关于类 pat 上的 java.lang.IllegalStateException : Detected both log4j-over-slf4j. jar 和 slf4j-log4j12.jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18320146/
找了一圈也没找到。是否有Ruby的Log4X等价物?如果不是,那么处理所有调试语句的最佳方法是什么。我是Ruby的新手。谢谢! 最佳答案 Ruby带有一个内置的日志库,但是有log4r.内置库的一个简短示例:#!/usr/bin/envrubyrequire'logger'log=Logger.new('mylog.txt')log.debug"Hellolog" 关于ruby-是否有Log4JforRuby的等价物,Log4Ruby?,我们在StackOverflow上找到一个类似的问
我已经研究这个话题太久了,所以我必须发布这个。我有几个运行此设置的应用程序,其中一个在rails启动(railss)时完全失败。它们的配置几乎完全相同,但我似乎无法在这里大海捞针。有没有人对如何找到这个问题有任何指示?设置基于:http://blog.mmlac.com/log4r-for-rails/comment-page-1/#comment-1731当我尝试运行railss时:=>BootingWEBrick=>Rails4.0.0applicationstartingindevelopmentonhttp://0.0.0.0:3000=>Run`railsserver-h`f
我一定真的遗漏了一些明显的东西,但我在我的Ruby应用程序中对Log4r的一般使用遇到了麻烦。我可以毫无问题地登录,但是按照我的设置方式,开销似乎很笨重。我基本上是将完整路径传递给文件名以登录我的应用程序中的每个类。被调用的ruby脚本从ARGV中的一个参数中提取日志文件,然后将其传递并设置在我在ruby中调用的每个类中。在每个类中,我都使用patternFormatter将类/文件名插入到日志语句中。有没有更好的方法来完成这项工作?感觉无论我想到什么,都需要将一些东西传递给我的ruby应用程序中的每个类。我可以改为在yaml配置文件中设置日志文件,但这样我也会将配置文件传
只要我乐于坚持使用标准的jruby库,一切都很好。如jruby网站上所述,我只是将jruby-complete.jar库复制到远程计算机并在运行时将其包含在类路径中。我启动了我的编译脚本,它运行起来了:太棒了!当我需要一些其他库(通常是rubygems)来运行我的脚本时,问题就开始了。我知道像rawr这样很酷的东西,我成功地测试了它,可以将你需要的所有东西放在一个包中。然而,这不是我正在寻找的解决方案:我将有许多独立运行的小脚本,我不希望它们中的每一个都增长到至少10MB,只是因为我疯狂地在每个脚本中包含了jruby-complete.jar他们。我想要的是为我需要使用的每个库编译
我想知道Ruby(不是JRuby,所以native绑定(bind)不是一个选项)可以使用哪些RESTAPI客户端?理想情况下,我希望API类似于neo4jgem或ActiveRecord(验证、迁移、观察者等)。当前可用的(REST)工具甚至无法与我们所拥有的相提并论,例如,在ActiveRecrod中:neograhy-只是普通RESTAPI。与模型等无关neology-只是对新地理学的包装,并不是功能齐全的ActiveModel。architect4r-符合ActiveModel,但仅提供一种查询数据的方式(Cypher语言),也不支持索引。我更喜欢architect4r的代码(主
我相信我已经非常清楚和简洁地提出了这个问题。我为什么要问?我要向学生解释RubyonRails框架,这需要我对Java世界做一些类比(因为该类(class)非常以Java为中心)。我没有RubyonRails的实践经验,但我觉得Gem/Jar类比是有效的。谁能进一步阐明这个问题? 最佳答案 作为一个简短的回答,我会说:是的,它是有效的。作为一个长答案,我会说:是的,它是有效的,但您可能还想描述一些重要的区别。jar有一些与gem截然不同的品质。JAR是打包的可执行库,您通常必须在调用时在Java程序的执行中显式声明依赖项(通过在调用
前言 Neo4j是一个高性能的,Nosql图形数据库。Nosql=nosql,即与传统的将数据结构化并存储在表中的数据库不一样。Neo4j将数据存储在网络上,我们也可以把Neo4j视为一个图引擎。我们打交道的是一个面对对象的、灵活的网络结构而不是严格的、静态的表。传统关系型数据库,当数据量很大时,查询性能会明显受影响,尤其是一度以上的查询。但是图形数据库却在这方面表现得很好。neo4j支持多种主流编程语言,包括.Net、Java、JavaScript、Python。本文主要是涉及到jdk和neo4j安装和适配。 注意事项:neo4j安装版本与JDK版本需要对应,不
Element-ui是饿了么前端团队推出的基于vue进行开发的前端框架。最近刚学了Element-ui,迫不及待练练手,却发现现成的组件样式用不了。引用官网的使用方法,如图:展示的效果也是不尽人意,在百度的过程中发现可能是链接引用不稳定,访问很慢。后来又网上的教程一步一步设置,结果又出现了很多意想不到的问题。在看了很多大牛的视频后,才发现这么简单!!!教程如下:1.既然是基于vue的框架,首先要导入vue.js的架包。链接:安装Vue.js在学习阶段建议使用开发版本。2.接下来就是Element-ui的本地引用。进入Elementui的官网。链接:Element-网站快速成型工具把页面拉到最下
我正在尝试使用:functionmyfunc(){varparam=4;alert("OK");}我这样调用函数:但它不起作用。可能是什么原因? 最佳答案 你误解了的目的.它自动生成一个JavaScript函数,然后您可以从View中的任何JavaScript代码调用该函数。你的例子,将自动生成以下函数functionmyfunc(param){//HeresomespecificJSFAjaxscriptwhichassigns"param"//toamanagedbeanproperty#{MyBean.myfield}}您不需
1.向服务器发送带有对象数组的httppost[{id:1,title:‘one’},{id:2,title:’two’}]2.在服务器上接收post并用bolt批量插入neo4jletdata=req.body;//setupboltletdb=require('neo4j-driver').v1;letdriver=db.driver('bolt://localhost',db.auth.basic('neo4j',’neo4j’));letsession=driver.session();3。设置执行语句//starttransactionfor(vari=0;i>data.le