added log macro with timestamp