Q:

Event received in Parent component is undefined

I have a Parent and a child component.  I am trying to dispatch an event from child and capture it in parent component.  However I get the event as 'undefined' in parent.  What am I doing wrong here? 
Parent HTML:
<template>
    <lightning-layout multiple-rows>
        <lightning-layout-item size="12">
            <lightning-card title="Sample App">
                <p class="slds-var-p-horizontal_small">
                    <c-child onsearch={searchItem}></c-child>
                </p>
            </lightning-card>
        </lightning-layout-item>
    </lightning-layout>
</template>

Parent JS:
import { LightningElement } from 'lwc';

export default class Parent extends LightningElement {
    itemId = '';

    searchItem(event) { 
        console.log('Event received => ' + console.log(event));
        this.itemId = (event && event.detail && event.detail.eventItemId) || '';
        console.log('itemId received => ' + console.log(this.itemId));
    }
}

Child HTML:
<template>
    <lightning-layout>
        <lightning-layout-item class="slds-align-middle slds-text-align_left">
            <lightning-combobox class="slds-align-middle slds-text-align_left" name="" value={selectedOptionId}
                options={options} onchange={handleChange}>
            </lightning-combobox>
        </lightning-layout-item>
    </lightning-layout>
</template>

Child JS:
import { LightningElement } from 'lwc';

export default class Child extends LightningElement {
    selectedOptionId='';
    get options() {
        return [
            { label: 'New', value: 'new' },
            { label: 'In Progress', value: 'inProgress' },
            { label: 'Finished', value: 'finished' },
        ];
    }
    handleChange(event) {
        this.selectedOptionId = event.detail.value;
        console.log('handleChange option selected ===> ' + this.selectedOptionId);
        const searchEvent = new CustomEvent('search', {
            detail: {
                eventItemId: this.selectedOptionId
            }
        });
        this.dispatchEvent(searchEvent);
    }
}

In console log I see:

A:

Due to incorrect use of console.log() I was getting the values as undefined. 
Incorrect usage:
console.log('Event received => ' + console.log(event));
this.itemId = (event && event.detail && event.detail.eventItemId) || '';
console.log('itemId received => ' + console.log(this.itemId));

Please check the comments sections for more details.