{"id":36852347,"url":"https://github.com/ibnumardini/logn","last_synced_at":"2026-01-12T14:39:19.763Z","repository":{"id":57555602,"uuid":"312154753","full_name":"ibnumardini/logn","owner":"ibnumardini","description":"A simple go library - Log management for Go","archived":false,"fork":false,"pushed_at":"2023-05-08T13:16:22.000Z","size":73,"stargazers_count":10,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-06-20T17:43:32.040Z","etag":null,"topics":["go","go-libray","log","logn"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ibnumardini.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","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":"2020-11-12T03:14:35.000Z","updated_at":"2023-12-26T13:26:48.000Z","dependencies_parsed_at":"2024-06-20T17:24:35.605Z","dependency_job_id":"5df8620a-a1c0-4aa0-bdbe-870810a04e01","html_url":"https://github.com/ibnumardini/logn","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/ibnumardini/logn","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibnumardini%2Flogn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibnumardini%2Flogn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibnumardini%2Flogn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibnumardini%2Flogn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ibnumardini","download_url":"https://codeload.github.com/ibnumardini/logn/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibnumardini%2Flogn/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28340403,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T12:22:26.515Z","status":"ssl_error","status_checked_at":"2026-01-12T12:22:10.856Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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","go-libray","log","logn"],"created_at":"2026-01-12T14:39:18.999Z","updated_at":"2026-01-12T14:39:19.755Z","avatar_url":"https://github.com/ibnumardini.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg src=\"logo.png\" width=\"150\"\u003e\u003c/img\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/ibnumardini/logn)\n![GitHub](https://img.shields.io/github/license/ibnumardini/logn)\n\n\u003c/div\u003e\n\n## About Logn\n\nLogn \u003cem\u003e\u003cstrong\u003e:/logen/\u003c/strong\u003e\u003c/em\u003e is a simple log management library for go app ツ, with several features provided such as :\n\n- Generate log by day\n- Generate log by type\n- Report log type Warning / Error to telegram via bot\n- Zipping log data every one month\n- Deleting old log directory\n\n## Logn Tree\n\n```bash\ngo-app\n│   main\n│\n├───log\n│    └───2020\n│        └───12\n│            ├───01\n│            │   info.log\n│            │   warning.log\n│            │   error.log\n│            ├───02\n│            │   info.log\n│            │   warning.log\n│            │   error.log\n│\n└───log_zip\n    ├───2019\n    │   log_12_2019.zip\n    ├───2020\n    │   log_01_2020.zip\n```\n\n## Installation\n\nUse the package manager [go get](https://golang.org/cmd/go/#hdr-Download_and_install_packages_and_dependencies) to install this package.\n\n```bash\ngo get -u github.com/ibnumardini/logn\n```\n\n## Configuration\n\n- make config file [`logn_config.json`](https://github.com/ibnumardini/logn/blob/master/logn_config_sample.json) in your root project directory\n\n```json\n{\n  \"logn_is_active\": true,\n  \"log\": {\n    \"logn_dir\": \"log/\",\n    \"logn_default_loc\": \"Asia/Jakarta\",\n    \"logn_print_console\": true\n  },\n  \"tg\": {\n    \"logn_tg_send\": false,\n    \"logn_app_name\": \"Logn-App LOG\",\n    \"logn_tg_token\": \"1416xxxxx:AAF3VOBjt7rIeO4tUL_dHxG0qxxxxxxxxx\",\n    \"logn_tg_chat_id\": \"-4947xxxxx\"\n  },\n  \"zip\": {\n    \"logn_is_zipped\": false,\n    \"logn_dir_zip\": \"log_zip/\",\n    \"logn_del_old_dir\": false\n  }\n}\n```\n\n### Config description\n\n- `logn_is_active` used to actived or deactived logn package\n\n#### log\n\n- `logn_dir` used for set default log directory name\n- `logn_default_loc` used for set default timezone\n- `logn_print_console` used to print log at console\n\n#### telegram\n\n- `logn_tg_send` used to actived or deactived report warning/error log to telegram\n- `logn_app_name` used to set title in report telegram message\n- `logn_tg_token` used for telegram bot token\n- `logn_tg_chat_id` used for set where bot send report message\n\n#### zip\n\n- `logn_is_zipped` used to actived or deactived automate zipped log in one month\n- `logn_dir_zip` used for set default log zip directory name\n- `logn_del_old_dir` used to set automate deleting old zip directory after zipped\n\n## Usage\n\n```go\nlogn.InfoLog(\"hello world\")\nlogn.WarningLog(fmt.Sprintf(\"%s\\n\", warningInfo))\nlogn.ErrorLog(fmt.Sprintln(\"error message!\"))\n```\n\n### Usage description\n\n- `logn.InfoLog()` used to make log type info\n- `logn.WarningLog()` used to make log type warning\n- `logn.ErrorLog()` used to make log type error\n\n#### parameter\n\n- if you have complex string, you can format first using `fmt.Sprintf()` or `fmt.Sprintln()` before input in the parameters\n\n### Zipping log using cron\n\n- set `logn.CronZip(1)`at your init func\n- set like this `./app logn_zip_run` when run your app\n\n#### parameter\n\n- fill in the parameter with the position of the argument according to what you set, param type is int\n\n## Contributing\n\nLet's build this Logn library to make it even better, see contributing guide [here](CONTRIBUTING.md)\n\n## License\n\nLogn is under the [MIT License](LICENSE.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fibnumardini%2Flogn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fibnumardini%2Flogn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fibnumardini%2Flogn/lists"}