{"id":22911973,"url":"https://github.com/opencoff/go-logger","last_synced_at":"2025-05-09T01:33:42.781Z","repository":{"id":57491326,"uuid":"123350566","full_name":"opencoff/go-logger","owner":"opencoff","description":"Enhanced logger derived from golang's standard lib","archived":false,"fork":false,"pushed_at":"2024-11-26T04:26:21.000Z","size":65,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-31T20:41:18.584Z","etag":null,"topics":["backtrace","go-logger","go-logging","log-crit","logging-library","priority","syslog"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/opencoff.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-02-28T22:35:28.000Z","updated_at":"2024-11-26T04:26:23.000Z","dependencies_parsed_at":"2024-12-14T04:20:00.092Z","dependency_job_id":"5c1c05f3-8013-4b87-997c-c7b8bc903dcb","html_url":"https://github.com/opencoff/go-logger","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencoff%2Fgo-logger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencoff%2Fgo-logger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencoff%2Fgo-logger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencoff%2Fgo-logger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/opencoff","download_url":"https://codeload.github.com/opencoff/go-logger/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253174496,"owners_count":21865875,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["backtrace","go-logger","go-logging","log-crit","logging-library","priority","syslog"],"created_at":"2024-12-14T04:19:27.703Z","updated_at":"2025-05-09T01:33:42.760Z","avatar_url":"https://github.com/opencoff.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# go-logger - Level based logger with sub-logger support\n\n## What is it?\nBorrowed from golang stdlib, this enables logging at increasing\nlevels of verbosity. The verbosity increases as we go down the list\nbelow:\n\n- Emergency (LOG_EMERG) - will halt the program after\n  printing a backtrace of the calling goroutine.\n- Critical (LOG_CRIT)\n- Error (LOG_ERR) - all levels at and above will print a stack-trace\n  of the calling goroutine.\n- Warning (LOG_WARNING)\n- Informational (LOG_INFO) - this is the level at which I log\n  most informational messages useful for troubleshooting\n  production issues.\n- Debug (LOG_DEBUG) - this is the most verbose level\n\n\n## List of enhancements from the stdlib\n- All I/O is done asychronously; the caller doesn't incur I/O cost\n\n- A single program can have multiple loggers - each with a different\n  priority.\n\n- An instance of a logger is configured with a given log level;\n  and it only prints log messages \"above\" the configured level.\n  e.g., if a logger is configured with level of INFO, then it will\n  print all log messages with INFO and higher priority;\n  in particular, it won't print DEBUG messages.\n\n- A single program can have multiple loggers; each with a\n  different priority.\n\n- The logger method Backtrace() will print a stack backtrace to\n  the configured output stream. Log levels are NOT\n  considered when backtraces are printed.\n\n- The Panic() and Fatal() logger methods implicitly print the\n  stack backtrace (upto 5 levels).\n\n- DEBUG, ERR, CRIT log outputs (via Debug(), Err() and Crit()\n  methods) also print the source file location from whence they\n  were invoked.\n\n- New package functions to create a syslog(1) or a file logger\n  instance.\n\n- Callers can create a new logger instance if they have an\n  io.writer instance of their own - in case the existing output\n  streams (File and Syslog) are insufficient.\n\n- Any logger instance can create child-loggers with a different\n  priority and prefix (but same destination); this is useful in large\n  programs with different modules.\n\n- Compressed log rotation based on daily time-of-day (configurable ToD) -- only\n  available for file-backed destinations.\n\n- Wrapper available to make this logger appear like a stdlib logger;\n  this wrapper prints everything sent to it (it's an io.Writer)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopencoff%2Fgo-logger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopencoff%2Fgo-logger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopencoff%2Fgo-logger/lists"}