【问题标题】:JasperReports JAR File Causes Excessive Logging with Log4jJasperReports JAR 文件导致使用 Log4j 进行过多的日志记录
【发布时间】:2016-10-11 14:32:37
【问题描述】:

我正在使用 Tomcat 和 Log4j 开发 Java Web 应用程序。我正在将 DynamicReports 4.1.1 与应用程序集成。 DynamicReports 依赖于一个名为 jasperreports6.2.2-jar 的 JAR 文件。在我将上述 JAR 文件添加到项目后,Log4j 开始每天每分钟记录一次无用的垃圾,并且在用户请求应用程序网页的任何时候也是如此。这在生产环境中是不可接受的,并且会使调试应用程序变得困难。

我需要维护应用程序的日志记录,但我不希望 JasperReports 全天候或在用户请求网页时强制进行不必要的日志记录。

是什么导致 JasperReports 执行过多的日志记录?

如何阻止 JasperReports 触发日志记录机制,但仍然在整个应用程序的其余部分保持常规日志记录?

如果我不能轻松做到这一点(也有我的蛋糕并吃掉它),为什么不呢?

请注意,我愿意在有问题的 JAR 文件中挖掘 JasperReports 源代码,并在必要时重新编译它以使其正常工作。

这是我的 log4j.properties 文件。在我采用它之前很久,在我添加 DynamicReports 之前,它就已经在我项目的类路径目录中了。

# Root loggin directory
logDir=/usr/local/tomcat/logs

# Root logger option
log4j.rootLogger=INFO, file

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=${logDir}/detailed_debug.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# 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 - %m%n

这是一天中每一分钟都涌入我的日志文件的垃圾。请注意,打印这些消息的代码出现在我的应用程序的一个 java 类中,该类处理一天中特定时间的电子邮件发送。

DEBUG Scheduler - Not a scheduled time for scheduledworkorder
DEBUG Scheduler - Run Time: Tue Oct 11 15:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:45:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for scheduledworkorder
DEBUG Scheduler - Run Time: Tue Oct 11 16:00:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:45:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for scheduledworkorder
DEBUG Scheduler - Run Time: Tue Oct 11 16:30:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:45:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for scheduledworkorder
DEBUG Scheduler - Top of loop.
DEBUG Scheduler - Loading Service: nightlyimportclean
DEBUG Scheduler - Run Time: Tue Oct 11 00:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for nightlyimportclean
DEBUG Scheduler - Loading Service: requestTicketApproval
DEBUG Scheduler - Run Time: Tue Oct 11 09:00:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for requestTicketApproval
DEBUG Scheduler - Run Time: Tue Oct 11 09:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for requestTicketApproval
DEBUG Scheduler - Run Time: Tue Oct 11 09:30:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for requestTicketApproval
DEBUG Scheduler - Run Time: Tue Oct 11 09:45:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for requestTicketApproval
DEBUG Scheduler - Run Time: Tue Oct 11 10:00:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for requestTicketApproval
DEBUG Scheduler - Run Time: Tue Oct 11 10:15:00 CDT 2016                                                                                                                                        
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016                                                                                                                                    
DEBUG Scheduler - Not a scheduled time for requestTicketApproval                                                                                                                                
DEBUG Scheduler - Run Time: Tue Oct 11 10:30:00 CDT 2016                                                                                                                                        
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016                                                                                                                                    
DEBUG Scheduler - Not a scheduled time for requestTicketApproval                                                                                                                                
DEBUG Scheduler - Run Time: Tue Oct 11 10:45:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for requestTicketApproval
DEBUG Scheduler - Run Time: Tue Oct 11 11:00:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for requestTicketApproval
DEBUG Scheduler - Run Time: Tue Oct 11 11:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for requestTicketApproval
DEBUG Scheduler - Run Time: Tue Oct 11 11:30:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for requestTicketApproval
DEBUG Scheduler - Run Time: Tue Oct 11 11:45:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for requestTicketApproval
DEBUG Scheduler - Run Time: Tue Oct 11 12:00:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for requestTicketApproval
DEBUG Scheduler - Run Time: Tue Oct 11 12:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for requestTicketApproval
DEBUG Scheduler - Run Time: Tue Oct 11 12:30:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for requestTicketApproval
DEBUG Scheduler - Run Time: Tue Oct 11 12:45:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for requestTicketApproval
DEBUG Scheduler - Run Time: Tue Oct 11 13:00:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for requestTicketApproval
DEBUG Scheduler - Run Time: Tue Oct 11 13:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for requestTicketApproval
DEBUG Scheduler - Run Time: Tue Oct 11 13:30:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for requestTicketApproval
DEBUG Scheduler - Run Time: Tue Oct 11 13:45:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for requestTicketApproval
DEBUG Scheduler - Run Time: Tue Oct 11 14:00:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for requestTicketApproval
DEBUG Scheduler - Run Time: Tue Oct 11 14:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for requestTicketApproval
DEBUG Scheduler - Run Time: Tue Oct 11 14:30:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for requestTicketApproval
DEBUG Scheduler - Run Time: Tue Oct 11 14:45:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for requestTicketApproval
DEBUG Scheduler - Run Time: Tue Oct 11 15:00:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for requestTicketApproval
DEBUG Scheduler - Run Time: Tue Oct 11 15:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for requestTicketApproval
DEBUG Scheduler - Run Time: Tue Oct 11 15:30:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for requestTicketApproval
DEBUG Scheduler - Run Time: Tue Oct 11 15:45:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for requestTicketApproval
DEBUG Scheduler - Run Time: Tue Oct 11 16:00:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for requestTicketApproval
DEBUG Scheduler - Loading Service: autosend
DEBUG Scheduler - Run Time: Tue Oct 11 09:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for autosend
DEBUG Scheduler - Run Time: Tue Oct 11 10:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for autosend
DEBUG Scheduler - Run Time: Tue Oct 11 11:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for autosend
DEBUG Scheduler - Run Time: Tue Oct 11 12:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for autosend
DEBUG Scheduler - Run Time: Tue Oct 11 13:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for autosend
DEBUG Scheduler - Run Time: Tue Oct 11 14:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for autosend
DEBUG Scheduler - Run Time: Tue Oct 11 15:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for autosend
DEBUG Scheduler - Run Time: Tue Oct 11 16:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for autosend
DEBUG Scheduler - Run Time: Tue Oct 11 17:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for autosend
DEBUG Scheduler - Run Time: Tue Oct 11 18:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for autosend
DEBUG Scheduler - Run Time: Tue Oct 11 19:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for autosend
DEBUG Scheduler - Run Time: Tue Oct 11 20:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for autosend
DEBUG Scheduler - Run Time: Tue Oct 11 21:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for autosend
DEBUG Scheduler - Run Time: Tue Oct 11 22:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for autosend
DEBUG Scheduler - Run Time: Tue Oct 11 23:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for autosend
DEBUG Scheduler - Run Time: Tue Oct 11 00:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for autosend
DEBUG Scheduler - Run Time: Tue Oct 11 01:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for autosend
DEBUG Scheduler - Run Time: Tue Oct 11 02:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for autosend
DEBUG Scheduler - Run Time: Tue Oct 11 03:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for autosend
DEBUG Scheduler - Run Time: Tue Oct 11 04:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for autosend
DEBUG Scheduler - Run Time: Tue Oct 11 05:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for autosend
DEBUG Scheduler - Run Time: Tue Oct 11 06:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for autosend
DEBUG Scheduler - Run Time: Tue Oct 11 07:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for autosend
DEBUG Scheduler - Run Time: Tue Oct 11 08:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for autosend
DEBUG Scheduler - Loading Service: scheduledworkorder
DEBUG Scheduler - Run Time: Tue Oct 11 09:00:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for scheduledworkorder
DEBUG Scheduler - Run Time: Tue Oct 11 09:35:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for scheduledworkorder
DEBUG Scheduler - Run Time: Tue Oct 11 09:40:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for scheduledworkorder
DEBUG Scheduler - Run Time: Tue Oct 11 10:00:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for scheduledworkorder
DEBUG Scheduler - Run Time: Tue Oct 11 11:00:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for scheduledworkorder
DEBUG Scheduler - Run Time: Tue Oct 11 12:00:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for scheduledworkorder
DEBUG Scheduler - Run Time: Tue Oct 11 12:25:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for scheduledworkorder
DEBUG Scheduler - Run Time: Tue Oct 11 12:30:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for scheduledworkorder
DEBUG Scheduler - Run Time: Tue Oct 11 13:00:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for scheduledworkorder
DEBUG Scheduler - Run Time: Tue Oct 11 13:00:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for scheduledworkorder
DEBUG Scheduler - Run Time: Tue Oct 11 13:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for scheduledworkorder
DEBUG Scheduler - Run Time: Tue Oct 11 14:30:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for scheduledworkorder
DEBUG Scheduler - Run Time: Tue Oct 11 14:45:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for scheduledworkorder
DEBUG Scheduler - Run Time: Tue Oct 11 15:00:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for scheduledworkorder
DEBUG Scheduler - Run Time: Tue Oct 11 15:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for scheduledworkorder
DEBUG Scheduler - Run Time: Tue Oct 11 15:30:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for scheduledworkorder
DEBUG Scheduler - Run Time: Tue Oct 11 15:45:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for scheduledworkorder
DEBUG Scheduler - Run Time: Tue Oct 11 15:00:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for scheduledworkorder
DEBUG Scheduler - Run Time: Tue Oct 11 15:15:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for scheduledworkorder
DEBUG Scheduler - Run Time: Tue Oct 11 16:00:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for scheduledworkorder
DEBUG Scheduler - Run Time: Tue Oct 11 16:30:00 CDT 2016
DEBUG Scheduler - Current Time: Tue Oct 11 08:46:32 CDT 2016
DEBUG Scheduler - Not a scheduled time for scheduledworkorder

另外,这是一个当用户访问我的应用程序中的网页时向我的日志文件发送垃圾的示例。我相信在我将任何 DynamicReports 库添加到项目之前很久,日志文件的这一部分中引用的对象就已经成为我的应用程序的一部分。

DEBUG RequestContextListener - Bound request context to thread: org.apache.catalina.connector.Request@33a70fb5
DEBUG DefaultListableBeanFactory - Creating instance of bean 'dbConnector'
DEBUG DefaultListableBeanFactory - Invoking afterPropertiesSet() on bean with name 'dbConnector'
DEBUG DefaultListableBeanFactory - Finished creating instance of bean 'dbConnector'
DEBUG DisposableBeanAdapter - Invoking destroy method 'destroy' on bean with name 'dbConnector'
DEBUG RequestContextListener - Cleared thread-bound request context: org.apache.catalina.connector.Request@33a70fb5
DEBUG RequestContextListener - Bound request context to thread: org.apache.catalina.connector.Request@33a70fb5
DEBUG DefaultListableBeanFactory - Creating instance of bean 'dbConnector'
DEBUG DefaultListableBeanFactory - Invoking afterPropertiesSet() on bean with name 'dbConnector'
DEBUG DefaultListableBeanFactory - Finished creating instance of bean 'dbConnector'
DEBUG DisposableBeanAdapter - Invoking destroy method 'destroy' on bean with name 'dbConnector'
DEBUG RequestContextListener - Cleared thread-bound request context: org.apache.catalina.connector.Request@33a70fb5
DEBUG RequestContextListener - Bound request context to thread: org.apache.catalina.connector.Request@33a70fb5
DEBUG DefaultListableBeanFactory - Creating instance of bean 'dbConnector'
DEBUG DefaultListableBeanFactory - Invoking afterPropertiesSet() on bean with name 'dbConnector'
DEBUG DefaultListableBeanFactory - Finished creating instance of bean 'dbConnector'
DEBUG Task - loadSteps for id:420877
DEBUG DisposableBeanAdapter - Invoking destroy method 'destroy' on bean with name 'dbConnector'
DEBUG RequestContextListener - Cleared thread-bound request context: org.apache.catalina.connector.Request@33a70fb5

【问题讨论】:

    标签: java tomcat logging jar log4j


    【解决方案1】:

    问题在于,无论出于何种原因,当 JasperReports jar 文件包含在项目中时,log4j 都会忽略 log4j.properties 文件。在 WEB-INF 目录中创建一个 log4j.xml 文件并在 DEBUG 上面给它一些配置选项解决了这个问题。

    这是我用来解决问题的 log4j.xml 文件的内容:

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    <log4j:configuration debug="true" xmlns:log4j='http://jakarta.apache.org/log4j/'>
    
    <appender name="console" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern"
          value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
        </layout>
    </appender>
    
    <root>
        <level value="INFO" />
        <appender-ref ref="console" />
    </root>
    

    【讨论】:

    • 为我工作。非常感谢。
    【解决方案2】:

    首先,对不起我的英语不好。

    我认为你的问题出在这一行 log4j.rootLogger=信息,文件 因为 log4j 有不同级别的日志,最重要的是次要的(OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、ALL),你需要选择正确的。

    为了解决您的问题,我发现了一些对这个主题有更多解释的链接: 1 - https://logging.apache.org/log4j/2.x/manual/configuration.html#Properties 2 - https://logging.apache.org/log4j/2.x/manual/customloglevels.html

    在第一个链接中有其他链接,它有更多信息,但如果您愿意,请在谷歌中查找“tutorialspoint”,然后在 log4j_configuration 中查找,我无法在此处发布此链接,因为该站点不允许。

    【讨论】:

    • 感谢您的帮助。也许我应该提到我的应用程序使用的是 log4j 版本 1,而您提供的链接是针对 log4j 版本 2 的。您提供的配置链接表明两个版本之间的属性文件的语法是不同的。但是,我确实尝试了不同的级别,一直到关闭,但过度的日志记录仍在继续。无论出于何种原因,jasperreports 都会导致我的应用程序中的计划任务在一天中的每一分钟都运行。在将 jasperreports-6.2.2.jar 添加到应用程序之前不会发生此行为。
    猜你喜欢
    • 1970-01-01
    • 2014-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多