I'm using embedded Jetty and I want my application to log to a file. I am okay with Jetty logging its output to stdout. I have a log4j.xml config file that is clearly being imported but
the app isn't heeding the instructions in log4j.xml.
Here's the log4j.xml file. I'm using a very simple one to start:
Nothing is being appended to the file I've specified. I know the app is parsing log4j.xml, because previously I had an incorrect path to the logging output file in log4j.xml and the app
complained (to stdout).
hackintosh:mexp barclayadunn$ java -XX:+UseConcMarkSweepGC -XX:PermSize=64M -XX:MaxPermSize=256M -Xms1G -Xmx1G -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -jar /usr/local/mexp/mexp.jar server /usr/local/mexp/mexp.json
Sep 23, 2014 4:16:52 PM org.eclipse.jetty.util.log.Log initialized
INFO: Logging initialized @65ms
Sep 23, 2014 4:16:52 PM org.eclipse.jetty.server.Server doStart
INFO: jetty-9.2.z-SNAPSHOT
Sep 23, 2014 4:17:19 PM org.eclipse.jetty.server.handler.ContextHandler$Context log
INFO: Set web app root system property: 'webapp.root' = [/usr/local/mexp/resources/webapp]
Sep 23, 2014 4:17:20 PM org.eclipse.jetty.server.handler.ContextHandler$Context log
INFO: Initializing log4j from [/usr/local/mexp/resources/webapp/WEB-INF/log4j.xml]
log4j: reset attribute= "false".
log4j: Threshold ="null".
log4j: Level value for root is [ERROR].
log4j: root level set to ERROR
log4j: Class name: [org.apache.log4j.RollingFileAppender]
log4j: Setting property [append] to [false].
log4j: Setting property [maxFileSize] to [10KB].
log4j: Setting property [maxBackupIndex] to [5].
log4j: Setting property [file] to [/usr/local/mexp/logs/mexp.service.log].
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
log4j: Setting property [conversionPattern] to [%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n].
log4j: setFile called: /usr/local/mexp/logs/mexp.service.log, false
log4j: setFile ended
log4j: Adding appender named [file] to category [root].
Sep 23, 2014 4:17:20 PM org.eclipse.jetty.server.handler.ContextHandler$Context log
INFO: Initializing Spring root WebApplicationContext
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/mexp/resources/webapp/WEB-INF/lib/slf4j-jdk14-1.7.7.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/mexp/mexp.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.JDK14LoggerFactory]
Sep 23, 2014 4:17:20 PM com.rc.util.logging.RCLog info
INFO: Entering initialization
Sep 23, 2014 4:17:20 PM com.pronto.common.util.FileUtil getInputStream
INFO: -> Found /WEB-INF/log4j.xml in resource bundle
Sep 23, 2014 4:17:20 PM com.rc.util.logging.RCLog info
INFO: Exiting initialization
Sep 23, 2014 4:17:20 PM com.pronto.common.util.FileUtil getInputStream
INFO: -> Found /mpds.properties in resource bundle
Sep 23, 2014 4:17:21 PM com.rc.util.logging.RCLog info
INFO: Entering servlet init.
Sep 23, 2014 4:17:21 PM org.quartz.impl.StdSchedulerFactory instantiate
INFO: Using default implementation for ThreadExecutor
Sep 23, 2014 4:17:21 PM org.quartz.core.SchedulerSignalerImpl <init>
INFO: Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl
Sep 23, 2014 4:17:21 PM org.quartz.core.QuartzScheduler <init>
INFO: Quartz Scheduler v.2.2.1 created.
Sep 23, 2014 4:17:21 PM org.quartz.plugins.xml.XMLSchedulingDataProcessorPlugin initialize
INFO: Registering Quartz Job Initialization Plug-in.
Sep 23, 2014 4:17:21 PM org.quartz.simpl.RAMJobStore initialize
INFO: RAMJobStore initialized.
Sep 23, 2014 4:17:21 PM org.quartz.core.QuartzScheduler initialize
INFO: Scheduler meta-data: Quartz Scheduler (v2.2.1) 'MexpScheduler' with instanceId 'dev'
Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
NOT STARTED.
Currently in standby mode.
Number of jobs executed: 0
Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 5 threads.
Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
Sep 23, 2014 4:17:21 PM org.quartz.impl.StdSchedulerFactory instantiate
INFO: Quartz scheduler 'MexpScheduler' initialized from an externally provided properties instance.
Sep 23, 2014 4:17:21 PM org.quartz.impl.StdSchedulerFactory instantiate
INFO: Quartz scheduler version: 2.2.1
Sep 23, 2014 4:17:21 PM org.quartz.xml.XMLSchedulingDataProcessor processFile
INFO: Parsing XML file: mexp-dev-jobs.xml with systemId: mexp-dev-jobs.xml
Sep 23, 2014 4:17:22 PM org.quartz.xml.XMLSchedulingDataProcessor scheduleJobs
INFO: Adding 13 jobs, 13 triggers.
Sep 23, 2014 4:17:22 PM org.quartz.xml.XMLSchedulingDataProcessor scheduleJobs
INFO: Adding job: skuLevelBiddingReportGroup.skuLevelBiddingReportJob
Sep 23, 2014 4:17:22 PM org.quartz.xml.XMLSchedulingDataProcessor scheduleJobs
INFO: Adding job: emailNotificationsGroup.emailNotificationsJob
Sep 23, 2014 4:17:22 PM org.quartz.xml.XMLSchedulingDataProcessor scheduleJobs
INFO: Adding job: balanceReplenishmentGroup.balanceReplenishmentJob
Sep 23, 2014 4:17:22 PM org.quartz.xml.XMLSchedulingDataProcessor scheduleJobs
INFO: Adding job: balanceReplenishmentCappedInvoiceGroup.balanceReplenishmentCappedInvoiceJob
Sep 23, 2014 4:17:22 PM org.quartz.xml.XMLSchedulingDataProcessor scheduleJobs
INFO: Adding job: merchantTxnProcessingGroup.merchantTxnProcessingJob
Sep 23, 2014 4:17:22 PM org.quartz.xml.XMLSchedulingDataProcessor scheduleJobs
INFO: Adding job: feedFileManagerGroup.feedFileManagerJob
Sep 23, 2014 4:17:22 PM org.quartz.xml.XMLSchedulingDataProcessor scheduleJobs
INFO: Adding job: merchantPaymentManagerGroup.merchantPaymentManagerJob
Sep 23, 2014 4:17:22 PM org.quartz.xml.XMLSchedulingDataProcessor scheduleJobs
INFO: Replacing job: merchantTxnProcessingGroup.merchantTxnProcessingJob
Sep 23, 2014 4:17:22 PM org.quartz.xml.XMLSchedulingDataProcessor scheduleJobs
INFO: Adding job: expiredAccountUpdaterGroup.expiredAccountUpdaterJob
Sep 23, 2014 4:17:22 PM org.quartz.xml.XMLSchedulingDataProcessor scheduleJobs
INFO: Adding job: placementsForDatasyncUpdaterGroup.placementsForDatasyncUpdaterJob
Sep 23, 2014 4:17:22 PM org.quartz.xml.XMLSchedulingDataProcessor scheduleJobs
INFO: Adding job: placementPaymentProcessingGroup.placementPaymentProcessingJob
Sep 23, 2014 4:17:22 PM org.quartz.xml.XMLSchedulingDataProcessor scheduleJobs
INFO: Adding job: switchingMerchantsToInvoiceGroup.switchingMerchantsToInvoiceJob
Sep 23, 2014 4:17:22 PM org.quartz.xml.XMLSchedulingDataProcessor scheduleJobs
INFO: Adding job: toggleActiveStateGroup.toggleActiveStateJob
Sep 23, 2014 4:17:22 PM org.quartz.core.QuartzScheduler start
INFO: Scheduler MexpScheduler_$_dev started.
Sep 23, 2014 4:17:22 PM org.eclipse.jetty.server.handler.ContextHandler doStart
INFO: Started o.e.j.w.WebAppContext@6783e43b{/,file:/usr/local/mexp/resources/webapp/,AVAILABLE}{file:/usr/local/mexp/mexp.jar}
Sep 23, 2014 4:17:22 PM org.quartz.plugins.history.LoggingTriggerHistoryPlugin triggerFired
INFO: Trigger JobSchedulingDataLoaderPlugin.JobSchedulingDataLoaderPlugin_jobInitializer_mexp-dev-jobs_xml fired job JobSchedulingDataLoaderPlugin.JobSchedulingDataLoaderPlugin_jobInitializer_mexp-dev-jobs_xml at: 16:17:22 09/23/2014
Sep 23, 2014 4:17:22 PM org.quartz.plugins.history.LoggingJobHistoryPlugin jobToBeExecuted
INFO: Job JobSchedulingDataLoaderPlugin.JobSchedulingDataLoaderPlugin_jobInitializer_mexp-dev-jobs_xml fired (by trigger JobSchedulingDataLoaderPlugin.JobSchedulingDataLoaderPlugin_jobInitializer_mexp-dev-jobs_xml) at: 16:17:22 09/23/2014
Sep 23, 2014 4:17:22 PM org.quartz.plugins.history.LoggingJobHistoryPlugin jobWasExecuted
INFO: Job JobSchedulingDataLoaderPlugin.JobSchedulingDataLoaderPlugin_jobInitializer_mexp-dev-jobs_xml execution complete at 16:17:22 09/23/2014 and reports: null
Sep 23, 2014 4:17:22 PM org.quartz.plugins.history.LoggingTriggerHistoryPlugin triggerComplete
INFO: Trigger JobSchedulingDataLoaderPlugin.JobSchedulingDataLoaderPlugin_jobInitializer_mexp-dev-jobs_xml completed firing job JobSchedulingDataLoaderPlugin.JobSchedulingDataLoaderPlugin_jobInitializer_mexp-dev-jobs_xml at 16:17:22 09/23/2014
with resulting trigger instruction code: DO NOTHING
Sep 23, 2014 4:17:22 PM org.eclipse.jetty.server.AbstractConnector doStart
INFO: Started ServerConnector@1c6c0838{HTTP/1.1}{0.0.0.0:8080}
Sep 23, 2014 4:17:22 PM org.eclipse.jetty.server.AbstractConnector doStart
INFO: Started ServerConnector@3cdd9094{HTTP/1.1}{0.0.0.0:8081}
Sep 23, 2014 4:17:22 PM org.eclipse.jetty.server.Server doStart
INFO: Started @30257ms
...
(further activity in the web app results in logging appended to stdout after this)
I see lines at the start about org.eclipse.jetty.util.log.Log. I don't know what this is but I definitely don't want it to override my preferences.
Any help would be appreciated. Ideally I'd prefer nothing logged to stdout other than embedded Jetty's initial startup.
Thanks,
Barclay