Search code examples
loggingpentahokettlepentaho-spoon

How to use variable for database Log Connection name in Pentaho Kettle Job running on Carte?


I would like to parametrize which (predefined and parametrized) log DB connection to use, e.g. data.import.log.db=LOG_DB: enter image description here

but I can't get it to work with a job parameter data.import.log.db, or setting variable data.import.log.db in the calling parent job.

The only way I see is setting the variable in kettle.properties, or as a variable from command line. But if the job executes in Carte, I would like the caller to decide on which log connection is to be used -- sometimes a caller decides to not log at all (empty variable). Am I missing something on how to hand over this variable to the job log connection?

Thanks in advance for constructive hints and explanations.

-- edit: using PDI CE 8.0.0-28.


Solution

  • I am afraid you cannot. The log parameters are defined early in the process, well before the variable of the job/transfo are read.

    What you can do is to log on a tmp table, and let the caller decide if it has to copy the table and where with a straightforward transformation.

    The drawback of this method is for concurrent jobs. The copy transformation then needs to take the decision based on the channel number.