logger framework