草庐IT

java - 如何在log4j.xml中使用DTD ENTITY外部引用

我尝试使用来自外部dtd文件的实体。]>log4j-entity.dtd我试过像这样在属性值中使用实体值。我得到这个错误:Theexternalentityreference"&logHome;"isnotpermittedinanattributevalue.我该怎么做?注意:这东西有用.. 最佳答案 需要将内部子集内部的实体做成参数实体,然后引用它。改变:]>到:%logHome;]> 关于java-如何在log4j.xml中使用DTDENTITY外部引用,我们在StackOverf

xml - 与在 Dom4J 中使用 DOM 相比,XPath 的效率如何?

例如考虑以下xmlsomecontent1somecontent2somecontent3somecontent1somecontent2somecontent3somecontent1somecontent2somecontent3使用DOM获取根节点,然后循环遍历childNode和grandChildNode效率高还是使用XPath表达式收集子节点和grandChild节点的详细信息效率高? 最佳答案 如果您想要完整地处理一个XML文档,就反序列化时间、CPU使用率和内存使用率而言,将XML解析为DOM几乎总是效率最低的。解析

java - log4j2如何使用多个配置文件

我正在编写测试Java库的Java代码。该库包含自己的log4j2配置作为分发的一部分。我想在我的测试代码中使用log4j2,而不修改库的配置。有没有办法让我的测试代码有单独的log4j2配置?这一切都作为命令行Java运行,完全没有服务器或Web参与。编辑以尝试更清楚:我想要的是能够为要使用的测试代码配置记录器、追加器等,并且同时让库代码使用它自己的独立配置文件用于其日志记录。我的想法是在我的测试代码中使用log4j2,但不必更改库的配置文件。由于库配置文件是库分发的一部分,我不想为了测试而更改它。 最佳答案 这可能会有帮助:Lo

java - 如何使用 dom4j 在另一个节点之前插入一个节点?

我有一个org.dom4j.Document实例,具体来说是一个DefaultDocument实现。我想在另一个节点之前插入一个新节点。我不太了解dom4japi,我对Element和DOMElement和东西之间的区别感到困惑。org.dom4j.dom.DOMElement.insertBefore对我不起作用,因为我拥有的节点不是DOMElement。DOMNodeHelper.insertBefore也不好,因为我有org.dom4j.Node实例而不是org.w3c.dom.Node实例。我的天啊。你能给我一个小代码片段来帮我完成这项工作吗?这是我现在拥有的://putslr

java - 将 dom4j 文档转换为 W3c 文档

我需要将使用dom4j构建的xml转换为w3c文档,但不知道如何操作... 最佳答案 查看DOMWriter。这对我有用:importorg.dom4j.DocumentHelper;importorg.dom4j.io.DOMWriter;org.dom4j.Documentdom4jDoc=DocumentHelper.createDocument();org.w3c.dom.Documentw3cDoc=newDOMWriter().write(dom4jDoc) 关于java-将

java - log4j xml配置错误

每次我用maven编译时,我都会得到以下异常。log4j:ERRORsetFile(null,true)callfailed.java.io.FileNotFoundException:/logs/jump_page.log(Nosuchfileordirectory)atjava.io.FileOutputStream.open(NativeMethod)atjava.io.FileOutputStream.(FileOutputStream.java:212)atjava.io.FileOutputStream.(FileOutputStream.java:136)atorg.ap

java - 关闭 log4j.xml 中的调试或日志消息

我想关闭log4j.xml中的调试或日志消息。我的log4j.xml是:我的Java代码:publicstaticvoidmain(String[]args){log.info("info");log.debug("dddffff");}如果我运行这个程序仍然会记录INFO消息,下面是日志文件07Aug201412:54:49INFOMainClass-info07Aug201412:54:49DEBUGMainClass-dddffff现在我想关闭INFO消息。 最佳答案 您可以关闭类或包的日志。例如:查看更多信息Apachelo

xml - log4j:WARN 文档根元素 "log4j:configuration",必须匹配 DOCTYPE 根 "null"

我想将我的log4j.xml与log4j.xsd(xml架构)连接起来。项目没有任何警告或错误。但是当我启动它时,我有这样的控制台警告:log4j:WARN可继续解析错误6和第66列。log4j:WARN文档根元素“log4j:configuration”,必须匹配DOCTYPE根“null”。log4j:WARN可继续解析错误6和第66列。log4j:WARN文档无效:找不到语法。我认为,模式位置有问题。但是不知道,怎么写才正常。希望得到您的指点。我的log4j.xml:还有我的log4j.xsd:附言对不起我的英语... 最佳答案

xml - log4j 可以从基本/根元素继承 xml 吗?

我正在尝试减少log4j配置中的重复,并且想知道我是否可以将类似的配置向下推送到root.xml文件并在每个子log4j.xml文件中继承它?谢谢! 最佳答案 据我所知,没有“native”继承机制,但您可以使用实体来引用和包含外部xml片段(请参阅thisnabblethread)来获得相同的结果。如果您只想修改某些属性,描述了类似的解决方案here.使用外部实体的示例:主要配置(log4j.xml):]>&appender;&root;附加程序.xml:根文件:如果将根定义和附加程序定义都放在一个单个文件中,而没有?xmlpi,

xml - log4j2 - 限制日志文件的数量

我有以下log4j2.xml文件:我怎样才能修改这个配置在达到5mb限制后创建一个新文件,而不是一遍又一遍地覆盖同一个日志文件。如果有test1.log、test2.log之类的东西就好了。如何限制在1.中创建的部分日志文件的数量?我想要实现的是如下方案:creatingtest1.log[presentlogfiles:test1.log]test1.log-5mblimitreachedcreatingtest2.log[presentlogfiles:test1.log,test2.log]test2.log-5mblimitreachedcreatingtest3.log[pr