Tag: log4j

比较log4j和Logger

JDK的Logger与Apache log4j相比如何? 针对Java 6的新项目哪个更好? 他们如何在灵活性和可配置性方面进行比较?

如何在测试期间覆盖log4j.properties?

我正在尝试在maven测试期间将所有DEBUG消息记录到控制台。 为此,我创建了一个文件src/test/resources/log4j.properties ,它将覆盖我在src/main/resources/log4j.properties已有的配置。 不幸的是,这种压倒一切都没有发生。 为什么以及如何解决它?

log4j属性DailyRollingFileAppender不起作用

我希望每日日志的日志文件附加yyyy-dd-mm格式的日期。 当我使用DailyRollingFileAppender时,不会创建新的日志文件。 日志将写入同一日志文件。 此外,不考虑提供的日期模式。 创建的日志文件是LoggerFile.log。 并且每个内容(即使在第二天)都会写入此文件。 我正在使用log4j-1.2.17 jar。 我正在使用Java开发Netbeans 7.3.1。 是否有人使用此JAR并面临这样的问题。 请帮忙! 这是我使用的属性文件的内容: # Root logger option log4j.rootLogger=ERROR,FILE,stdout # Define the file appender log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender log4j.appender.FILE.File=.//..//logs//LoggerFile.log # Define the layout for file appender log4j.appender.FILE.DatePattern=’.’yyyy-MM-dd log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS zzz} %5p %c{1}:%L – %m%n log4j.appender.FILE.MaxFileSize=10MB # Direct log messages to stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L […]

如何在运行时更改slf4j级别?

我使用SLF4j作为我的日志框架,由log4j支持。 我的问题是我正在寻找一种方法来在运行时更改记录器的日志记录级别。 我知道slf4j不允许直接通过自己的API,因此,我必须直接访问日志记录提供程序。 就个人而言,我发现这是slf4j的一个巨大缺陷。 所以现在我的问题是如何通过slf4j以编程方式确定我正在使用哪个提供程序? 使用slf4j的最大目的是让您成为提供者无关 – 您可以轻松地在您喜欢的日志记录系统之间切换,而无需重新编码。 但是现在,如果我必须直接调用log4j,我就失去了这种能力。 至少,我希望能够确定我是否使用log4j作为提供程序,如果是,则允许用户切换日志级别。 如果我执行LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME) ,结果是org.slf4j.impl.Log4jLoggerAdapter一个实例,甚至不是org.apache.log4j.Logger (正如我希望/期望的那样)。 有没有办法找到这个? 谢谢,埃里克

使用Logback但Log4j开始显示WARN no Appender

我正在使用logback进行日志记录,但它一直在工作; 前几天我开始收到警告 log4j:WARN没有为logger找到appender(org.apache.axis.i18n.ProjectResourceBundle)。 log4j:WARN请正确初始化log4j系统。 我没有使用log4j,也没有使用过这个项目。 我的资源文件夹中有一个logback.xml。 关于为什么这个警告开始显现的任何想法?

Mybatis log4j如何配置log4j来打印sql日志到文件

我使用Spring 4和MyBatis 3,想要确认log4j打印sql日志,如连接,选择,插入,更新,删除,语句,preparedStatement,resultSet到日志文件。 我的log4j.properties如下: ### set log levels ### log4j.rootLogger=debug, stdout, log, index, D, I, W, E #log4j.rootLogger = debug,error, log, index, D, I, W, E log4j.FilePath=${catalina.home}/app_log ### print log to console ### log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern = %d %p [%c] – %n ### print log to console ### […]

Tomcat:OutOfMemoryError Permgen Space

我正在使用Tomcat 6开发JSP应用程序。 由于我确实将Quartz Scheduler Framework和Log4J库添加到项目中,因此Tomcat在重新部署时开始抛出此exception。 我已经了解了问题的原因,现在我知道必须使用类加载器。 所以,我想问题可能是由自动加载某些类的记录器库引起的。 我该如何处理这个问题? 有一种方法可以在不使用log4j.properties文件的情况下设置记录器,以确保类加载器能够正常工作。

停止石英调试日志记录log4j

我试图关闭令人讨厌的石英DEBUG记录。 我正在使用log4j作为日志框架,我已经尝试将此行添加到lg4j proprieties文件中 “log4j.logger.org.quartz=ERROR” 我仍然收到大量这些调试日志消息 13:35:44.680 [MyScheduler_QuartzSchedulerThread] DEBUG o.quartz.core.QuartzSchedulerThread – batch acquisition of 0 triggers 如何关闭此function? 编辑。 我已将我的配置移动到xml文件…但仍然遇到了同样烦人的问题 EDIT2 …这是我的pom.xml文件(有趣的部分) org.slf4j slf4j-log4j12 1.6.1 log4j log4j 1.2.9 org.quartz-scheduler quartz 2.1.7 类路径中的EDIT3 jar activation-1.1.jar ant-1.8.2.jar ant-launcher-1.8.2.jar antlr-2.7.7.jar asm-1.5.3.jar asm-attrs-1.5.3.jar asm-commons-3.3.jar asm-tree-3.3.jar bcmail-jdk14-1.38.jar bcmail-jdk14-138.jar bcprov-jdk14-1.38.jar bcprov-jdk14-138.jar bctsp-jdk14-1.38.jar c3p0-0.9.1.1.jar castor-1.2.jar cglib-2.1_3.jar commons-beanutils-1.8.3.jar commons-codec-1.5.jar commons-collections-3.2.1.jar commons-digester-2.1.jar commons-fileupload-1.2.2.jar commons-io-2.0.1.jar commons-lang-2.5.jar commons-logging-1.1.1.jar […]

使用log4j2,如何记录键值对

我需要创建具有键值对的日志,如下所示。 在PatternLayout中是否支持使用log4j2.xml为log_level,class_name,event_id等线程中的静态字段执行此操作。 样本日志: 2014-06-18 11:57:46,719 log_level =“INFO”class_name =“com.abc.dgl.App:main(158)”name =”应用程序启动事件“event_id =”b88f7ea0-4cb1-438f-a728-ac7c2bdac578 “app =”Test App“severity =”info“action =”loading sfor文件处理“desc =”道具被读取并加载“result =”success“reason =”abc“transaction_id =”b88f7ea0-4cb1-438f-a728- ac7c2bdac578″

Log4J只将一个类附加到appender

我需要定期轮询正在运行的应用程序的JVM内存统计信息。 我正在运行一个执行此操作的服务并将统计信息写入根Logger(我对Root Logger的使用情况没有太多控制权)。 我想要做的是将这些日志消息路由到单个appender。 此appender应该只处理来自这一个类的日志消息,而不是来自任何其他类。 其他appender不应该从这一个类接收消息。 到目前为止,我只将日志消息发送到这个’memoryStats’appender。 然而,所有其他日志记录消息也都是那个appender,我需要摆脱它们,但我不确定列出每一个类都会是一场噩梦。 log4j.rootCategory=info, A1, R, MEM # A1 is set to be a ConsoleAppender. log4j.appender.A1=org.apache.log4j.ConsoleAppender # A1 uses PatternLayout. log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=[%p] %d{dd MMM yyyy HH;mm:ss,SSS} %t %c{2} (line:%L) – %m%n log4j.appender.R=org.apache.log4j.RollingFileAppender log4j.appender.R.File=logs/ui.log log4j.appender.R.MaxFileSize=100MB # Keep backup files log4j.appender.R.MaxBackupIndex=9 log4j.appender.R.layout=org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern=[%p] %d{dd MMM yyyy HH;mm:ss,SSS} %t %c{2} (line:%L) – %m%n […]