我在我的项目中使用log4j2是这样的:logger.log(Level.ERROR,this.logData);我的配置文件是这样的:%d%p%c{1.}[%t]%m%ex%n它创建了我的文件,我向其中记录了一些内容,但它仍然是空的。当我试图删除这个文件时,操作系统告诉我它正在使用中(如果应用程序当前正在运行),但即使我停止应用程序,文件仍然是空的。那么我应该更改哪些设置才能使其正常工作? 最佳答案 我怀疑异步日志没有正确打开。从beta-9开始,无法在XML配置中打开异步记录器,您必须将系统属性Log4jContextSelec
当我使用log4j2.1编译我的spring3.2.9web应用程序时,这个错误出现在控制台中:2015-02-0212:08:25,213ERRORappenderFailoverhasnoparameterthatmatcheselementFailovers我的理解是元素“Failover”中不存在元素“Failover”,对吗?为什么会这样?我看不出有什么问题,因为我有sameconfigurationasthelog4j2manual.我的log4j2.xml中有这个配置:[%d{ISO8601}]%c[%C{1}]-%p:%m%n[%d{ISO8601}][%c]-%p:%
我已将我的log4j2自定义插件打包到一个单独的jar中(仅包含插件类)并将其放入应用程序类路径中。但它没有被检测到。我用谷歌搜索发现这是一个错误-不再使用“packages”参数。还有一些链接建议了一些替代方案,其中mavenpom.xml和log4j2插件dat文件出现在上下文中。问题是我不熟悉maven,也不知道dat文件是如何生成的。我只知道它包含在log4j-2.1-core.jar中,其中现有的log4j2插件在pom.xml中定义。有人可以建议我如何让我的自定义插件工作吗?我经历了这个-Log4j2customplugins-annotationprocessingwit
假设我有一个标准的JSON日志,如文档中的示例(如下){"logger":"com.foo.Bar","timestamp":"1376681196470","level":"INFO","thread":"main","message":"Messageflushedwithimmediateflush=true"}现在我想像这样向这个日志添加自定义信息:{"logger":"com.foo.Bar","timestamp":"1376681196470","level":"INFO","thread":"main","message":"Messageflushedwithimme
我想写一个简单的程序来测试log4j2。我从manual复制了大部分代码.这是我得到的错误:2016-05-0210:11:31,054mainERRORErrorprocessingelementAppender([Appenders:null]):CLASS_NOT_FOUND2016-05-0210:11:31,054mainERRORErrorprocessingelementAppender([Appenders:null]):CLASS_NOT_FOUND2016-05-0210:11:31,117mainERRORUnabletolocateappender"STDOUT
为什么不允许System.out.println(super)?System.out.println(this);这没关系,this.toString()被自动调用和打印。当然,用实例变量代替this也是可以的。但是,this和super可以按照我所知道的方式使用。System.out.println(super);那么为什么会失败呢?我认为它应该隐式调用super.toString()。我已经阅读了Java规范文档,但我没有找到原因。 最佳答案 在http://java.sun.com/docs/books/jls/second_
我有一个使用common-logging和log4j的项目,我想更改为使用SLF4J+Logback。有什么方法可以将现有的log4j.xml用于Logback? 最佳答案 如果将记录器实现更改为logback,则应使用logback.xml配置文件(及其相关格式)。 关于java-我可以为SLF4J和Logback使用Log4j.xml配置吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/que
我已经精简了代码来重现一个抛出错误的例子:publicclassTest{publicstaticvoidmain(String[]args){NavigableSetset=newTreeSet(Arrays.asList("a","b","c","d"));NavigableSetset2=newTreeSet();set2=set.tailSet("c",false);set2.addAll(set.headSet("b",true));System.out.println(set2);}}代码的目的是在检索集合的子集时实现某种翻转。例如。在上面的例子中,我想要从c[exclus
这个问题在这里已经有了答案:Noappenderscouldbefoundforlogger(log4j)?(32个答案)关闭7年前。我尝试使用“log4j.properties”文件配置log4j。一切正常,但我发现了一些奇怪的警告:log4j:WARNNoappenderscouldbefoundforlogger(org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager).log4j:WARNPleaseinitializethelog4jsystemproperly.log4j:WARNSeehttp://loggi
当我有一个由多个模块组成的Maven应用程序并且每个模块都包含一个log4j.properties文件时,会发生什么情况,它们是否会被某个模块合并或覆盖(如果是,是哪个模块)?更新:按照你的建议,我现在已经在我的poms中排除了这样的额外属性:[...]**/log4j.propertiesP.S.:但是,Maven无法识别“excludes”标签,“exclusions”仅适用于依赖项,不适用于资源。更新刚刚在log4jinamulti-moduleMavenproject中发现我可以将log4j.properties放在src/test/resources中,这样它们就不会包含在可