add logger trait