logger class and macro functions will now accept variable arguments