Skip to content

ibnumardini/logn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub tag (latest by date) GitHub

About Logn

Logn :/logen/ is a simple log management library for go app ツ, with several features provided such as :

  • Generate log by day
  • Generate log by type
  • Report log type Warning / Error to telegram via bot
  • Zipping log data every one month
  • Deleting old log directory

Logn Tree

go-app
│   main
│
├───log
│    └───2020
│        └───12
│            ├───01
│            │   info.log
│            │   warning.log
│            │   error.log
│            ├───02
│            │   info.log
│            │   warning.log
│            │   error.log
│
└───log_zip
    ├───2019
    │   log_12_2019.zip
    ├───2020
    │   log_01_2020.zip

Installation

Use the package manager go get to install this package.

go get -u github.com/ibnumardini/logn

Configuration

{
  "logn_is_active": true,
  "log": {
    "logn_dir": "log/",
    "logn_default_loc": "Asia/Jakarta",
    "logn_print_console": true
  },
  "tg": {
    "logn_tg_send": false,
    "logn_app_name": "Logn-App LOG",
    "logn_tg_token": "1416xxxxx:AAF3VOBjt7rIeO4tUL_dHxG0qxxxxxxxxx",
    "logn_tg_chat_id": "-4947xxxxx"
  },
  "zip": {
    "logn_is_zipped": false,
    "logn_dir_zip": "log_zip/",
    "logn_del_old_dir": false
  }
}

Config description

  • logn_is_active used to actived or deactived logn package

log

  • logn_dir used for set default log directory name
  • logn_default_loc used for set default timezone
  • logn_print_console used to print log at console

telegram

  • logn_tg_send used to actived or deactived report warning/error log to telegram
  • logn_app_name used to set title in report telegram message
  • logn_tg_token used for telegram bot token
  • logn_tg_chat_id used for set where bot send report message

zip

  • logn_is_zipped used to actived or deactived automate zipped log in one month
  • logn_dir_zip used for set default log zip directory name
  • logn_del_old_dir used to set automate deleting old zip directory after zipped

Usage

logn.InfoLog("hello world")
logn.WarningLog(fmt.Sprintf("%s\n", warningInfo))
logn.ErrorLog(fmt.Sprintln("error message!"))

Usage description

  • logn.InfoLog() used to make log type info
  • logn.WarningLog() used to make log type warning
  • logn.ErrorLog() used to make log type error

parameter

  • if you have complex string, you can format first using fmt.Sprintf() or fmt.Sprintln() before input in the parameters

Zipping log using cron

  • set logn.CronZip(1)at your init func
  • set like this ./app logn_zip_run when run your app

parameter

  • fill in the parameter with the position of the argument according to what you set, param type is int

Contributing

Let's build this Logn library to make it even better, see contributing guide here

License

Logn is under the MIT License