Tag: log4j

Log4J Swing Appender

我需要将log4j内容附加到Swing组件(JTextArea或类似的)。 有一个共同的方法来做到这一点?

Log4j vs Logback:并发写入同一个日志?

我有几个在同一个tomcat上运行的Web应用程序。 我有两个问题: 1-通过搜索,我了解到当存在多个应用程序时,登录到同一文件可能会出现一些问题。 这是在同一个Web服务器上运行的多个应用程序的情况吗? 使用默认的stdout输出时,这也是正确的吗? 2-在Logback库中有一个谨慎的模式: 在谨慎模式下,即使存在可能在不同主机上运行的不同JVM中运行的其他FileAppender实例,FileAppender也会安全地写入指定文件。 prudent模式的默认值为false。 我想知道使用Logback是否仅适用于多个JVM,还是对同一Web服务器上运行的多个应用程序也有利? 如果没有,这方面的log4j是否相同? 谢谢

windows下的tomcat中的system.out.println写在哪里?

我正在使用用于记录system.out.println语句的第三方库(无法修改它)。 输出在控制台中显示正常,但我无法在catalina […]。日志文件中检索这些信息? 是否可以将它们发送到log4j?

在hibernate中包含log4j属性文件,以显示带有值而不是问号的查询

我有crearte log4j.properties文件,如下所示: log4j.logger.org.hibernate=INFO, hb log4j.logger.org.hibernate.SQL=DEBUG log4j.logger.org.hibernate.type=TRACE log4j.logger.org.hibernate.hql.ast.AST=info log4j.logger.org.hibernate.tool.hbm2ddl=warn log4j.logger.org.hibernate.hql=debug log4j.logger.org.hibernate.cache=info log4j.logger.org.hibernate.jdbc=debug log4j.appender.hb=org.apache.log4j.ConsoleAppender log4j.appender.hb.layout=org.apache.log4j.PatternLayout log4j.appender.hb.layout.ConversionPattern=HibernateLog –> %d{HH:mm:ss} %-5p %c – %m%n log4j.appender.hb.Threshold=TRACE 有人可以帮助我如何将其包含在hibernate.cfg.xml文件中吗? 对不起,我实际上不知道log4j是如何工作的。 我创建这个以显示我的hibernate查询value而不是? 但它仍然显示? 没有什么变化,所以我需要进一步发展? 我从这里参考Hibernate显示真正的SQL

如何只记录一次重复警告

有一种模式偶尔会发生。 我有一个多次调用的方法,它包含以下代码段: Foo foo = getConfiguredFoo(); if (foo == null) { logger.warn(“Foo not configured”); foo = getDefaultFoo(); } 然后我的日志文件被这个警告混乱了一百次。 我知道我可以把它grep了,但我想知道是否有更好的方法只能看一次这个警告。 注意:默认情况下,重复的消息是正确的行为,因此这不是为了避免无意的重复日志消息 。 我将我的问题标记为log4j,但我对其他java日志框架持开放态度。

如何在运行时调整log4j级别?

我有一个在Tomcat 5.5上运行的简单Web应用程序,其中log4j用于记录。 偶尔我需要将日志记录推送到DEBUG,但大多数时候我对INFO感到满意。 我可以更改我的配置xml并重新启动应用程序,但我更愿意动态切换日志级别。 有没有标准的技术?

在Junit测试期间如何将日志级别设置为DEBUG?

我正在使用SLF4J和LOG4J,配置通常在log4j.properties ,它将日志级别设置为INFO。 但是在测试期间,我想将日志设置为DEBUG。 我看不到自动化这种方法的方法,也没有像log4j.tests.properties这样只能在测试期间加载的东西。 所以我尝试在测试设置(@BeforeClass)中以编程方式执行此操作: LogManager.getRootLogger().setLevel(Level.ALL); 没有成功…… 我正在使用这些版本: org.slf4j slf4j-api 1.7.5 org.slf4j slf4j-log4j12 1.7.5 我怎样才能达到这个效果? 编辑:我想我不够清楚。 这个问题不是关于设置正确的日志级别…它是关于在运行Junit测试时设置DEBUG日志级别,以及在任何其他情况下设置INFO日志级别。 我想自动化这个。

记录multithreading应用程序中的活动

我在Java中有一个分层应用程序,它有一个multithreading数据访问层,可以从不同的点调用。 对该层的单次调用可能会产生多个线程来并行化对数据库的请求。 我正在寻找的是一个日志工具,它允许我定义由各种线程组成的“活动”。 因此,数据访问层中的相同方法应根据其调用者记录不同的输出。 将不同输出分组以总结操作的总成本的能力也很重要。 虽然应用程序是Java语言,但语言不是限制; 我需要的是设计指南,以便最终实现它。 我们目前正在使用log4j,但无法从中获取此行为。

如何使用Log4j和Storm Framework将日志写入文件?

我在使用log4j在风暴中记录到文件时遇到了一些问题。 在提交我的拓扑之前,即在我的main方法中,我编写了一些日志语句并使用以下命令配置了记录器: PropertyConfigurator.configure(myLog4jProperties) 现在,当我在eclipse中使用我的可执行jar运行我的拓扑时 – 它正常工作并且正在创建日志文件。 要么 当我使用“java -jar MyJarFile someOtherOptions”运行我的可执行jar时,我可以看到log4j正在配置并且文件正确形成并且在两个文件和控制台上都进行了日志记录(在我的log4j.properties中定义) 但是,当我使用“风暴jar MyJarFile MyMainClass someOtherOptions”运行相同的jar时,它无法创建并登录到除控制台之外的任何文件。 我正在谈论我在提交拓扑之前打印的日志。 有没有办法在使用storm时将我的语句记录在文件中? 我不一定要使用org.apache.log4j 。

Log4j和AOP,如何获取实际的类名

我正在使用Spring AOP和Log4J实现一个记录器作为一个方面,但我注意到日志文件中的类名始终是LoggerAspect类名,所以…有没有办法跟踪我的实际类名登录?