in reply to log4perl usage question

I don't see how the 1 can work. Unless you have predefined set of jobs, you have to create new appender for every job anyway. If you can be satisfied with just two appenders -- one for the main process and one for jobs, you can set NDC before starting the job and add filters to appenders that will filter messages based on NDC, in this case you don't have to change categories.

I don't see anything principally wrong about 2, though it depends on the number of jobs and your exact intentions.