MacOS 10.14.6 Mojave.
Node v10.15.3
LocalStack - docker image 0.10.4

When invoking a Lambda from Node.js code.


    const lambda = new Aws.Lambda(creds);
    
    const payload = {};
    
    const clientContext = {
        invokedFunctionArn: this._workerArn
    };
    
    const params = {
        FunctionName: this._workerArn,
        InvocationType: "RequestResponse", // "DryRun",
        LogType: 'Tail', // "None", "Tail"
        ClientContext: JSON.stringify(clientContext),
        Payload: JSON.stringify(payload)
    };
    
    console.log(`DEBUG: Executing lambda ${JSON.stringify(params)}`);
    
    lambda.invoke(params, function (err, data) {
        console.log(`DEBUG: Printing lambda return arguments`);
        console.log(JSON.stringify(arguments));
        console.log(data.LogResult);
    });```
DEBUG: Printing lambda return arguments
{"0":null,"1":{"StatusCode":200,"Payload":"null"}}
undefined
```

Expecting to see the Lambda execution log in `data.LogResult`, but no such object returned,
yet Localstack Cloudwatch logs recorded the execution logs correctly.


```
EVENTS	75	1570381308926.664	+51733/05/27/[$LATEST]629146bb	START RequestId: dbd86068-78c8-1a62-29ca-9c0a4a8580c3 Version: $LATEST	1570381306039
EVENTS	76	1570381308926.664	+51733/05/27/[$LATEST]629146bb	2019-10-06T17:01:47.924Z	dbd86068-78c8-1a62-29ca-9c0a4a8580c3	INFO	DEBUG: LOCALSTACK_HOSTNAME=172.17.0.1	1570381306520
...
EVENTS	79	1570381308926.664	+51733/05/27/[$LATEST]629146bb	END RequestId: dbd86068-78c8-1a62-29ca-9c0a4a8580c3	1570381307961
EVENTS	80	1570381308926.664	+51733/05/27/[$LATEST]629146bb	REPORT RequestId: dbd86068-78c8-1a62-29ca-9c0a4a8580c3	Duration: 16.05 ms	Billed Duration: 100 ms	Memory Size: 1536 MB	Max Memory Used: 57 MB		1570381308442
```

What I'm missing? Why it doesn't return logs on invoke?

Thanks



┆Issue is synchronized with this [Jira Bug](https://localstack.atlassian.net/browse/LOC-125) by [Unito](https://www.unito.io/learn-more)

def check_lambda_logs(self, func_name, expected_lines=[]):
        log_events = LambdaTestBase.get_lambda_logs(func_name)
        log_messages = [e['message'] for e in log_events]
        for line in expected_lines:
            if '.*' in line:
                found = [re.match(line, m) for m in log_messages]
                if any(found):
                    continue
            self.assertIn(line, log_messages)
    @staticmethod
    def get_lambda_logs(func_name):
        logs_client = aws_stack.connect_to_service('logs')
        log_group_name = '/aws/lambda/%s' % func_name
        streams = logs_client.describe_log_streams(logGroupName=log_group_name)['logStreams']
        streams = sorted(streams, key=lambda x: x['creationTime'], reverse=True)
        log_events = logs_client.get_log_events(
            logGroupName=log_group_name, logStreamName=streams[0]['logStreamName'])['events']
        return log_events
class TestLambdaBaseFeatures(unittest.TestCase):
    def test_forward_to_fallback_url_dynamodb(self):
        db_table = 'lambda-records'
        ddb_client = aws_stack.connect_to_service('dynamodb')
        def num_items():
            return len((run_safe(ddb_client.scan, TableName=db_table) or {'Items': []})['Items'])
        items_before = num_items()
        _run_forward_to_fallback_url('dynamodb://%s' % db_table)
        items_after = num_items()
        self.assertEqual(items_after, items_before + 3)
    def test_forward_to_fallback_url_http(self):
        class MyUpdateListener(ProxyListener):