Individual logfiles for scheduled jobs
--------------------------------------
Key: OFBIZ-2042
URL: https://issues.apache.org/jira/browse/OFBIZ-2042
Project: OFBiz
Issue Type: New Feature
Components: framework
Affects Versions: SVN trunk
Reporter: Philipp Hoppen
Priority: Minor
Fix For: SVN trunk
It is useful to have the ability to see the logs of a single scheduled job on
the job list.
In implementation (see attached patch) the user can specify whether he wants an
individual logfile or not using a checkbox when he schedules the job. The
information is passed from scheduleService() in CoreEvents.java to the
Dispatcher class and finally to the JobManager, where it is stored in the
ownLogfile field of the JobSandbox entity.
When the job runs, JobInvoker initializes the job-thread with an own
ThreadGroup. PersistentServiceJob then checks for the ownLogfile field of the
job and eventually initializes the logLocation (using serviceName+ timestamp
value) , which is stored in another field on JobSandbox. PersistentServiceJob
passes the logLocation using setLogLocation() on GenericServiceJob, which in
turn calls registerCurrentThreadGroupLogger on the Debug class. Debug maintains
a list of these loggers for each running job and sends them the log entries
when log() is called. After the job finished the logger is unregistered.
On the Job List there the ownLogfile field is displayed (useful to find out if
pending jobs will generate own logfile) and eventually a link to "View Log"
(which receives a jobId parameter that is checked for in LogView.groovy).
in purgeOldJobs() there are some lines to check for ownLogfile and to delete
the physical logfile.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.