草庐IT

java - 使用 log4j 在一行中获取多个日志

我正在使用org.apache.log4j.Logger,我经常在我的日志中看到这样的行:2013-06-09T00:06:00,092datadatadatadat2013-06-09T00:06:10,253datadata2013-06-09T00:06:16,202datad2013-06-09T00:06:20,750datadatadatadata我希望看到的是:2013-06-09T00:06:00,092datadatadatadata2013-06-09T00:06:10,253datadatadatadata2013-06-09T00:06:16,202datada

java - 如何配置 Log4J2

我现在花了几个小时试图解决这个问题,但我完全不知所措。我发现新的配置过程不必要地复杂。我有一个带有web.xml文件的Servlet,其中包含以下内容:log4jConfigurationfile:///etc/myApp/log4j2.xml好像没什么效果。我使用的是Tomcat7.0.42,我已经删除了catalina.properties文件中对log4j*.jar的所有引用。我的应用程序中的日志仍在发送,但它们只是发送到System.out,没有我指定的格式。所以,我试着自己动手做:InputStreamin=newFileInputStream(newFile("/etc/m

java - log4j配置文件错误检测

我目前正在使用log4j编写一个记录器。加载log4j.properties或log4j.xml文件后,我想知道是否有办法检测记录器配置文件是否有效。如果它无效,我希望改为加载默认设置(位于另一个文件中)。谢谢 最佳答案 我们通过在加载配置之前重定向System.err并检查错误是否记录到流中来解决了这个问题:classConfigurationLoader{classLog4jConfigStderrStreamextendsByteArrayOutputStream{privateintlineCount;privateStri

java - 如何在不终止 VM 的情况下关闭和重新打开 Spring Data Neo4J 上下文

我正在运行一个springdataneo-4j应用程序(不是基于Web的),它在正常操作期间运行良好。如果我关闭Spring上下文“ctx.close()”,neo4J数据库上的锁就会消失。然后,从应用程序的同一个实例中,如果我获取另一个上下文,我会看到锁返回,但是如果我尝试从该上下文读取/写入该数据库,我会收到错误消息:org.springframework.beans.factory.UnsatisfiedDependencyException:Errorcreatingbeanwithname'org.springframework.data.neo4j.config.Neo4j

java - 如何在 log4j.properties 中加密密码?

有什么方法可以在log4j.properties中加密密码以下是我的appenderlog4j.appender.DB=org.apache.log4j.jdbc.JDBCAppenderlog4j.appender.DB.URL=jdbc:mysql://localhost:3306/anilpracticelog4j.appender.DB.driver=com.mysql.jdbc.Driverlog4j.appender.DB.user=rootlog4j.appender.DB.password=P@ssw0rdlog4j.appender.DB.sql=INSERTINTO

java - 如何为 log4j2 RollingFileAppender 进行编程配置

我在没有配置文件的情况下以编程方式使用log4j2,但在代码中配置它。我正在尝试使用log4j2RollingFileAppender来保存最后10个日志文件。我尝试使用SizeBasedTriggeringPolicy限制文件大小。大小限制有效,但它不会创建旧日志文件,只会不断删除和写入一个原始日志文件。publicstaticvoidconfigLog(){Stringdir=System.getProperty("java.io.tmpdir")+"test\\";finalLoggerContextctx=(LoggerContext)LogManager.getContext

java - 启动 Neo4j 失败 : Component was successfully initialized, 但未能启动

我正在学习Pluralsight上的Neo4J教程,我必须使用drwho(神秘博士)示例数据库。我正在使用Neo4j社区版3.0.1版。但是示例数据库(drwho)是由旧版本制作的,我必须将dbms.allow_format_migration属性设置为"true"。这样做之后,当我尝试启动服务器时,它弹出了这个错误StartingNeo4jfailed:Component'org.neo4j.server.database.LifecycleManagingDatabase@673b0b17'wassuccessfullyinitialized,butfailedtostart.Pl

java - Log4j(通过 Spring Boot Logging)logging.level 属性中是否允许使用通配符?

当我安装一个使用Log4j的Java应用程序(通过SpringBootLogging)时,我被告知可以通过在application.properties中包含以下行来为应用程序中使用的所有包配置日志记录级别文件:日志记录级别。*=错误ERROR可以是我想使用的任何日志记录级别。但是,当我将级别从一个值更改为另一个值时,无论我使用什么值,我都发现日志中会出现低至DEBUG的日志消息。最终,我发现使用特定的包名称我可以控制要记录的最低级别。也就是说,logging.level.org.orgname.appname=ERROR会做我想做的事。日志级别属性是否支持像“*”这样的通配符?

java - 在 log4j 的内存 'list appender' 中

log4j是否有一个仅存储日志记录事件列表的附加程序(用于单元测试,以验证没有写入错误日志)? 最佳答案 有一个MemoryAppender,但它不是标准log4j库的一部分。您可以轻松编写自己的代码,但如果您仅将它们用于单元测试,我可能会模拟Logger并断言没有调用它。覆盖目标类中的getLogger()方法或直接在类型上设置模拟Logger。使用Jmock(内存中的例子,如有错误请见谅):publicvoidtestDoFoo(){Mockerymockery=newMockery();LoggermockLogger=moc

java - Log4J 能够从磁盘已满中恢复吗?

我们有几个java应用程序服务器在这里运行,有几个应用程序。它们都使用Log4J记录到同一个文件系统中,我们为此创建了该文件系统。有时会发生文件系统空间不足并且应用程序获取log4j:ERRORFailedtoflushwriter,java.io.IOException不幸的是,Log4J无法从此错误中恢复,因此即使在文件系统中释放空间后,也不会从该应用程序写入更多日志。除了重新启动应用程序之外,是否有任何选项(编程方式或设置方式)让Log4J再次运行? 最佳答案 我没有测试这个,但是logback的网站状态:Gracefulre