新项目是否应该使用logback而不是log4j作为日志框架?或者换个说法:'logback比log4j好吗(把logback的SLF4J-'feature'放在旁边)?' 最佳答案 您应该使用SLF4J+Logback进行日志记录。它提供了简洁的功能,例如参数化消息和(与公共(public)日志记录相比)映射诊断上下文(MDC、javadoc、documentation)。使用SLF4J使得日志后端可以以一种非常优雅的方式进行交换。此外,SLF4Jsupportsbridging其他日志框架到您将使用的实际SLF4J实现,因此来自
我已经将log4jConfigLocation放在web.xml中,但我仍然收到以下警告:log4j:WARNNoappenderscouldbefoundforlogger⤦⤥(org.springframework.web.context.ContextLoader).log4j:WARNPleaseinitializethelog4jsystemproperly.我错过了什么?contextConfigLocation/WEB-INF/applicationContext.xmllog4jConfigLocation/WEB-INF/classes/log4j.propertie
我有一个愚蠢的java日志记录问题:我正在从我的应用程序配置文件中加载日志记录配置-但它在读取文件后没有记录任何内容(看起来很像您在网上找到的示例除了额外的应用程序配置-删除它也无济于事)。“正在初始化...”日志行显示得很好,但“正在启动的应用程序”和任何其他消息既不会记录到控制台,也不会创建日志文件。我在这里错过了什么?Logger代码如下所示:...Loggerlog=Logger.getLogger("myApp");log.setLevel(Level.ALL);log.info("initializing-tryingtoloadconfigurationfile...")
我有一个类似下面的log4j属性。TextProcessor.log中记录的所有内容都高于WARN级别。我不明白这里设置的调试阈值。有人能解释一下阈值的作用吗?log4j.logger.TextProcessor=warn,TextProcessorlog4j.appender.TextProcessor=org.apache.log4j.RollingFileAppenderlog4j.appender.TextProcessor.File=C:/project/logs/TextProcessor.loglog4j.appender.TextProcessor.MaxFileSiz
我第一次听说标记是在阅读时:http://slf4j.org/faq.html我检查了Logger对象的可用方法:http://www.slf4j.org/api/org/slf4j/Logger.htmlhttp://logging.apache.org/log4j/2.x/log4j-api/apidocs/org/apache/logging/log4j/Logger.html并找到接口(interface):http://www.slf4j.org/api/org/slf4j/Marker.htmlhttp://logging.apache.org/log4j/2.x/log4
在使用传统的Maven目录时,我应该把log4j.properties文件放在哪里? 最佳答案 src/main/resources是这个的“标准位置”。更新:以上回答了这个问题,但它不是最好的解决方案。查看其他答案和对此的评论......您可能不会将自己的日志记录属性与jar一起发送,而是将其留给客户端(例如应用服务器、舞台环境等)来配置所需的日志记录。因此,将其放入src/test/resources是我的首选解决方案。注意:说到将具体的日志配置留给客户端/用户,您应该考虑在您的应用中将log4j替换为slf4j。
我有一种情况,我想将我创建的所有日志写入一个文本文件。我们正在使用java.util.logging.LoggerAPI来生成日志。我试过了:privatestaticLoggerlogger=Logger.getLogger(className.class.getName());FileHandlerfh;fh=newFileHandler("C:/className.log");logger.addHandler(fh);但仍然只能在控制台上获取我的日志.... 最佳答案 试试这个示例。它对我有用。publicstaticvoi
我必须设置/传递哪些变量作为JVM的参数才能使log4j正常运行?正确地说,我的意思是不要提示并打印到控制台。可以看一个典型的例子吗?注意:我需要避免在应用程序中创建log4j.properties文件。 最佳答案 你有log4j配置文件吗?只需使用引用它-Dlog4j.configuration={pathtofile}其中{pathtofile}应以file:为前缀编辑:如果你正在使用log4j2,你需要使用-Dlog4j.configurationFile={pathtofile}取自回答https://stackoverfl
我使用netbeans6.7.1和glassfishv2.1编写了一个Web服务项目,将log4j.properties放到项目的根目录并使用:staticLoggerlogger=Logger.getLogger(MyClass.class);在构造函数中:PropertyConfigurator.configure("log4j.properties");在函数中:logger.info("...");logger.error("...");//...但是,它是错误信息(实际上,我已经尝试将它放在我能意识到的几乎每个目录中):log4j:ERRORCouldnotreadconfi
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭8年前。Improvethisquestion是否仍然值得将log4j库添加到Java5项目中只是为了记录让我们说一些具有一些不错的翻转设置的文件的异常(exception)情况。还是标准的util.logging工具也能完成这项工作?你怎么看? 最佳答案 我会说你可能对你描述的需求使用util.logging没问题。要获得好的决策树,请查看Log4jvsjava.util.log