Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/guvencenanguvenal/katip
Katip is JSONBase Logger for Crystal
https://github.com/guvencenanguvenal/katip
crystal json log-json logger logging
Last synced: 30 days ago
JSON representation
Katip is JSONBase Logger for Crystal
- Host: GitHub
- URL: https://github.com/guvencenanguvenal/katip
- Owner: guvencenanguvenal
- License: mit
- Created: 2017-05-02T17:08:22.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-03-30T12:23:07.000Z (over 4 years ago)
- Last Synced: 2024-08-03T17:13:32.878Z (4 months ago)
- Topics: crystal, json, log-json, logger, logging
- Language: Crystal
- Homepage:
- Size: 23.4 KB
- Stars: 22
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-crystal - katip - JSONbase logger (Logging and monitoring)
README
# katip
Katip is Logger for Crystal
## Installation
Add this to your application's `shard.yml`:
```yaml
dependencies:
katip:
github: guvencenanguvenal/katip
```## Usage
```crystal
require "katip"
```Create your logger variable and configure it.
```crystal
logger = Katip::Logger.newlogger.configure do |config|
config.loglevel = Katip::LogLevel::DEBUG
config.logclassification = Katip::LogClassification::DATE_DAY
config.path = "src/katip/logfiles"
#### if you want to fill project's information
config.info.description = "This is project description."
config.info.project = "Module or project name."
config.info.version = VERSION # project version
end
```And basic log it!
```crystal
logger.debug("Debug mode is on!")logger.info("Information! This is log.")
logger.warn("Warning! Please control your code.")
logger.error("Error! Please fix and re-compile it!")
logger.fatal("Fatal! OH NO!")
```if you want log detail, you can use this methods.
```crystal
logger.debug("Debug mode is on!", self, YourExceptionName)logger.info("Information! This is log.", self, YourExceptionName)
logger.warn("Warning! Please control your code.", self, YourExceptionName)
logger.error("Error! Please fix and re-compile it!", self, YourExceptionName)
logger.fatal("Fatal! OH NO!", self, YourExceptionName)
```## JSON Output
Please do not edit manual JSON log files!
```json
{
"katip":"0.1.0",
"info":{
"description":"",
"project":"",
"version":""},
"errors":[
{ "date":"2017-05-07 00:24:57 +0300",
"class":"Class",
"message":"Debug mode is on!",
"exception_type":"Katip::NotSetException",
"exception_message":"Not Init",
"log_level":"DEBUG"
}
]
}
```## View Your Logs
You can use katipviewer.html to control your logs.
Open katipviewer.html on local machine.
Choose your log json file.
Click Read JSON Log button.
## Contributing
1. Fork it ( https://github.com/guvencenanguvenal/katip/fork )
2. Create your feature branch (git checkout -b my-new-feature)
3. Commit your changes (git commit -am 'Add some feature')
4. Push to the branch (git push origin my-new-feature)
5. Create a new Pull Request## Contributors
- [guvencenanguvenal](https://github.com/guvencenanguvenal) Güven Cenan Güvenal - creator, maintainer