{ "id": "104276", "key": "TIMOB-11630", "fields": { "issuetype": { "id": "5", "description": "The sub-task of the issue", "name": "Sub-task", "subtask": true }, "parent": { "id": "89173", "key": "TIMOB-8424", "fields": { "summary": "Ti API: Define cross platform logging API", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "7", "description": "gh.issue.story.desc", "name": "Story", "subtask": false } } }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [], "resolution": null, "resolutiondate": null, "created": "2012-11-01T20:01:50.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [ "cb-tooling", "parity", "qe-ios100112" ], "versions": [ { "id": "13505", "description": "Release 3.0.0", "name": "Release 3.0.0", "archived": true, "released": true, "releaseDate": "2012-12-14" } ], "issuelinks": [], "assignee": null, "updated": "2018-02-28T20:03:48.000+0000", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "iOS console logging functions called with array argument display on multiple lines. The other platforms all display on the same line.\r\n\r\nSteps to Reproduce:\r\n\r\n1. Run code:\r\n\r\n{code}\r\n/* console */\r\n\r\nif(Ti.Platform.osname != 'android') // TIMOB-11294 - Android: console: log functions fail in commonjs require\r\n{\r\n\tconsole.log('console LOG');\r\n\tconsole.log(['console LOG', 'ARG1', 'ARG2']);\r\n\t \r\n\tconsole.debug('console DEBUG');\r\n\tconsole.debug(['console DEBUG', 'ARG1', 'ARG2']);\r\n\t \r\n\tconsole.info('console INFO');\r\n\tconsole.info(['console INFO', 'ARG1', 'ARG2']);\r\n\t \r\n\tconsole.warn('console WARN');\r\n\tconsole.warn(['console WARN', 'ARG1', 'ARG2']);\r\n\t\r\n\tconsole.error('console ERROR');\r\n\tconsole.error(['console ERROR', 'ARG1', 'ARG2']);\r\n}\r\n\r\n/* Ti.API */\r\n \r\nTi.API.trace('Ti.API TRACE');\r\nTi.API.trace(['Ti.API TRACE', 'ARG1', 'ARG2']);\r\n \r\nTi.API.debug('Ti.API DEBUG');\r\nTi.API.debug(['Ti.API DEBUG', 'ARG1', 'ARG2']);\r\n \r\nTi.API.info('Ti.API INFO');\r\nTi.API.info(['Ti.API INFO', 'ARG1', 'ARG2']);\r\n \r\nTi.API.warn('Ti.API WARN');\r\nTi.API.warn(['Ti.API WARN', 'ARG1', 'ARG2']);\r\n \r\nTi.API.error('Ti.API ERROR');\r\nTi.API.error(['Ti.API ERROR', 'ARG1', 'ARG2']);\r\n \r\n/* Ti.API.log */\r\n \r\nTi.API.log('TRACE', 'Ti.API.log TRACE');\r\nTi.API.log('TRACE', ['Ti.API.log TRACE', 'ARG1', 'ARG2']);\r\n \r\nTi.API.log('DEBUG', 'Ti.API.log DEBUG');\r\nTi.API.log('DEBUG', ['Ti.API.log DEBUG', 'ARG1', 'ARG2']);\r\n \r\nTi.API.log('INFO', 'Ti.API.log INFO');\r\nTi.API.log('INFO', ['Ti.API.log INFO', 'ARG1', 'ARG2']);\r\n \r\nTi.API.log('WARN', 'Ti.API.log WARN');\r\nTi.API.log('WARN', ['Ti.API.log WARN', 'ARG1', 'ARG2']);\r\n \r\nTi.API.log('ERROR', 'Ti.API.log ERROR');\r\nTi.API.log('ERROR', ['Ti.API.log ERROR', 'ARG1', 'ARG2']);\r\n \r\nTi.API.log('LOG', 'Ti.API.log LOG');\r\nTi.API.log('LOG', ['Ti.API.log LOG', 'ARG1', 'ARG2']);\r\n \r\n/* Ti.iOS.API */\r\n \r\nif(Ti.Platform.osname == 'iphone' || Ti.Platform.osname == 'ipad')\r\n{\r\n Ti.API.timestamp('Ti.API TIMESTAMP');\r\n Ti.API.timestamp(['Ti.API TIMESTAMP', 'ARG1', 'ARG2']);\r\n}\r\n{code}\r\n\r\nActual Result:\r\n\r\n{code}\r\n[INFO] console LOG\r\n[INFO] (\r\n \"console LOG\",\r\n ARG1,\r\n ARG2\r\n)\r\n[DEBUG] console DEBUG\r\n[DEBUG] (\r\n \"console DEBUG\",\r\n ARG1,\r\n ARG2\r\n)\r\n[INFO] console INFO\r\n[INFO] (\r\n \"console INFO\",\r\n ARG1,\r\n ARG2\r\n)\r\n[WARN] console WARN\r\n[WARN] (\r\n \"console WARN\",\r\n ARG1,\r\n ARG2\r\n)\r\n[ERROR] console ERROR\r\n[ERROR] (\r\n \"console ERROR\",\r\n ARG1,\r\n ARG2\r\n)\r\n[DEBUG] Ti.API DEBUG\r\n[DEBUG] (\r\n \"Ti.API DEBUG\",\r\n ARG1,\r\n ARG2\r\n)\r\n[INFO] Ti.API INFO\r\n[INFO] (\r\n \"Ti.API INFO\",\r\n ARG1,\r\n ARG2\r\n)\r\n[WARN] Ti.API WARN\r\n[WARN] (\r\n \"Ti.API WARN\",\r\n ARG1,\r\n ARG2\r\n)\r\n[ERROR] Ti.API ERROR\r\n[ERROR] (\r\n \"Ti.API ERROR\",\r\n ARG1,\r\n ARG2\r\n)\r\n[DEBUG] Ti.API.log DEBUG\r\n[DEBUG] (\r\n \"Ti.API.log DEBUG\",\r\n ARG1,\r\n ARG2\r\n)\r\n[INFO] Ti.API.log INFO\r\n[INFO] (\r\n \"Ti.API.log INFO\",\r\n ARG1,\r\n ARG2\r\n)\r\n[WARN] Ti.API.log WARN\r\n[WARN] (\r\n \"Ti.API.log WARN\",\r\n ARG1,\r\n ARG2\r\n)\r\n[ERROR] Ti.API.log ERROR\r\n[ERROR] (\r\n \"Ti.API.log ERROR\",\r\n ARG1,\r\n ARG2\r\n)\r\n[LOG] Ti.API.log LOG\r\n[LOG] (\r\n[TIMESTAMP] 373491805.567042 Ti.API TIMESTAMP\r\n[TIMESTAMP] 373491805.567080 (\r\n{code}\r\n\r\nExpected Result (Android):\r\n\r\n{code}\r\n[INFO][TiAPI ( 425)] Ti.API INFO\r\n[INFO][TiAPI ( 425)] Ti.API INFO,ARG1,ARG2\r\n[WARN][TiAPI ( 425)] Ti.API WARN\r\n[WARN][TiAPI ( 425)] Ti.API WARN,ARG1,ARG2\r\n[ERROR][TiAPI ( 425)] Ti.API ERROR\r\n[ERROR][TiAPI ( 425)] Ti.API ERROR,ARG1,ARG2\r\n[INFO][TiAPI ( 425)] Ti.API.log INFO\r\n[INFO][TiAPI ( 425)] Ti.API.log INFO,ARG1,ARG2\r\n[WARN][TiAPI ( 425)] Ti.API.log WARN\r\n[WARN][TiAPI ( 425)] Ti.API.log WARN,ARG1,ARG2\r\n[ERROR][TiAPI ( 425)] Ti.API.log ERROR\r\n[ERROR][TiAPI ( 425)] Ti.API.log ERROR,ARG1,ARG2\r\n[INFO][TiAPI ( 425)] [LOG] Ti.API.log LOG\r\n[INFO][TiAPI ( 425)] [LOG] Ti.API.log LOG,ARG1,ARG2\r\n{code}", "attachment": [], "flagged": false, "summary": "iOS: console logging with array arg displays on multiple lines, should be one line", "creator": { "name": "dhyde", "key": "dhyde", "displayName": "Dustin Hyde", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "dhyde", "key": "dhyde", "displayName": "Dustin Hyde", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Titanium SDK: 3.0.0.v20121030114615", "comment": { "comments": [ { "id": "225841", "author": { "name": "dhyde", "key": "dhyde", "displayName": "Dustin Hyde", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Note this would prevent TIMOB-11617 - iOS: Ti.API: some console logging calls with array args do not print array to console.", "updateAuthor": { "name": "dhyde", "key": "dhyde", "displayName": "Dustin Hyde", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-11-01T20:03:36.000+0000", "updated": "2012-11-01T20:03:36.000+0000" } ], "maxResults": 1, "total": 1, "startAt": 0 } } }