When passing an object that contains fields as arrays or even an array as a custom field we get a mutation from array type to string type (in case of object fields) or array elements are converted to strings This happens from versions > 1.1.2
Code used for testing
const logger= require('cf-nodejs-logging-support');
const a = [ { x: [1,2], y: 2, z: false, t: {}}];
logger.logMessage('info', 'Test', a);
console.log(typeof a[0], typeof a[0].x, typeof a[0].y, typeof a[0].z, typeof a[0].t);
Version 1.1.2 output
{"written_at":"2018-05-09T10:02:09.876Z","written_ts":446547752869439,"component_type":"application","component_id":"-","component_name":"-","component_instance":"0","layer":"[NODEJS]","space_name":"-","space_id":"-","source_instance":"0","container_id":"-","logger":"nodejs-logger","msg":"Test:","type":"log","custom_fields":[{"x":[1,2],"y":2,"z":false,"t":{}}],"level":"info"}
object object number boolean object
Version 3.0.4 output
{"component_type":"application","component_id":"-","component_name":"-","component_instance":"0","layer":"[NODEJS]","organisation_id":"-","organisation_name":"-","space_name":"-","space_id":"-","container_id":"-","logger":"nodejs-logger","source_instance":"0","written_at":"2018-05-09T10:11:19.763Z","written_ts":447097639918326,"msg":"Test:","type":"log","custom_fields":["{\"x\":[1,2],\"y\":2,\"z\":false,\"t\":{}}"],"level":"info"}
string undefined undefined undefined undefined