{"id":41072740,"url":"https://github.com/mantzas/adaptlog","last_synced_at":"2026-01-22T13:10:59.176Z","repository":{"id":57527546,"uuid":"49649455","full_name":"mantzas/adaptlog","owner":"mantzas","description":"Logging adapter","archived":false,"fork":false,"pushed_at":"2018-03-02T19:34:21.000Z","size":45,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-29T21:04:20.660Z","etag":null,"topics":["go","golang","logging"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mantzas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-01-14T13:39:55.000Z","updated_at":"2018-03-15T09:14:08.000Z","dependencies_parsed_at":"2022-09-07T02:10:40.119Z","dependency_job_id":null,"html_url":"https://github.com/mantzas/adaptlog","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/mantzas/adaptlog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mantzas%2Fadaptlog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mantzas%2Fadaptlog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mantzas%2Fadaptlog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mantzas%2Fadaptlog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mantzas","download_url":"https://codeload.github.com/mantzas/adaptlog/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mantzas%2Fadaptlog/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28663776,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T01:17:37.254Z","status":"online","status_checked_at":"2026-01-22T02:00:07.137Z","response_time":144,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["go","golang","logging"],"created_at":"2026-01-22T13:10:58.352Z","updated_at":"2026-01-22T13:10:59.168Z","avatar_url":"https://github.com/mantzas.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# adaptlog  [![alt text](https://godoc.org/github.com/mantzas/adaptlog?status.png)](https://godoc.org/github.com/mantzas/adaptlog)\u0026nbsp;[![build status](https://img.shields.io/travis/mantzas/adaptlog.svg)](http://travis-ci.org/mantzas/adaptlog)\u0026nbsp;[![Coverage Status](https://coveralls.io/repos/github/mantzas/adaptlog/badge.svg?branch=master)](https://coveralls.io/github/mantzas/adaptlog?branch=master) [![Go Report Card](https://goreportcard.com/badge/github.com/mantzas/adaptlog)](https://goreportcard.com/report/github.com/mantzas/adaptlog)\n\n\nPackage adaptlog is a logging abstraction in go. The name of the package is a composition of adapt(adaptive) and log(logging).\n\nThe developer uses this abstraction to avoid depending on a specific logging implementation.\nThe package provides an abstraction that covers the standard logging(like in the standard log package) and the leveled logging (like many of them out there).\n\nThe simplest way to use adaptlog's logger is by simply implementing a Logger interface like illustrated in the samples of the examples folder.\n\n    package main\n\n    import (\n        \"log\"\n\n        \"github.com/mantzas/adaptlog\"\n    )\n\n    // MyLogger custom logger implementing the Simple Logger interface\n    type MyLogger struct {\n    }\n\n    // Print logging\n    func (l *MyLogger) Print(args ...interface{}) {\n        log.Print(args...)\n    }\n\n    // Printf logging\n    func (l *MyLogger) Printf(msg string, args ...interface{}) {\n        log.Printf(msg, args...)\n    }\n\n    // Println logging\n    func (l *MyLogger) Println(args ...interface{}) {\n        log.Println(args...)\n    }\n\n    // Panic logging\n    func (l *MyLogger) Panic(args ...interface{}) {\n        log.Panic(args...)\n    }\n\n    // Panicf logging\n    func (l *MyLogger) Panicf(msg string, args ...interface{}) {\n        log.Panicf(msg, args...)\n    }\n\n    // Panicln logging\n    func (l *MyLogger) Panicln(args ...interface{}) {\n        log.Panicln(args...)\n    }\n\n    // Fatal logging\n    func (l *MyLogger) Fatal(args ...interface{}) {\n        log.Panic(args...)\n    }\n\n    // Fatalf logging\n    func (l *MyLogger) Fatalf(msg string, args ...interface{}) {\n        log.Panicf(msg, args...)\n    }\n\n    // Fatalln logging\n    func (l *MyLogger) Fatalln(args ...interface{}) {\n        log.Panicln(args...)\n    }\n\n    func main() {\n\n        // configure once\n        adaptlog.ConfigureSimpleLogger(new(MyLogger))\n\n        // use logger\n        adaptlog.Simple.Print(\"Hello World!\")\n    }\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmantzas%2Fadaptlog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmantzas%2Fadaptlog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmantzas%2Fadaptlog/lists"}