new logging subsystem
log macro