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.

Reply via email to