logger prototype