QAT::Logger
-
Welcome to the QAT Logger gem!
-
This gem support different types of log formats in the following ways:
- Color formats;
- Different channels and levels;
- Logs more human readable;
- File rotation;
- Remote elastic search logger
Installation
Add this line to your application's Gemfile:
gem 'qat-logger'And then execute:
$ bundle install
Or install it yourself as:
$ gem install qat-logger
Usage
Color formats - In order to use the logger colors it is necessary to have a configuration file in the project folder:
- In the path
"/config/your_environment/"of the project, must exist a file namedlogger.yml. This is where the color of the logs can be activated for each module. As shown in the example below:
Colors:
'INFO' => :green,
'WARN' => :purple,
'ERROR' => :red,
'FATAL' => :redlogger.yml:
log4r_config:
loggers:
- name: QAT::TestLogger
level: INFO
outputters:
- qat_console_outputter
- logfile
outputters:
- type: QatConsoleOutputter
name: qat_console_outputter
formatter:
type: QatFormatter
- type: FileOutputter
name: logfile
trunc: true
filename: 'public/logger_testing.log'
formatter:
type: QatFormatter
Channels and levels - In the logger.yml file, the level defines what type of logs will be seen in the console output.
- Level of importance:
FATAL <- most important
ERROR
WARN
INFO
DEBUG <- less important
As showed in the example, if we use the word INFO all levels above that will logged.
To activate all levels, use the word ALL.
The formats are applied to each outputter set in the outputters field.
- Logs more human readable - Improves log readability for an easiest comprehension of the logs:
An object like this:
{first: 1, second: 2, third: 3}Will be seen as:
:first => 1,
:second => 2,
:third => 3-
File rotation - file rotation provides a way to limit the total size of the logs retained while still allowing analysis of recent events.
- In the path
"/config/your_environment/"of the project, must exist a file namedlogger_rolling_file.yml. As shown in the example below:
- In the path
logger_rolling_file.yml:
log4r_config:
loggers:
- name: QAT::TestLogger
level: 'ALL'
trace: yes
outputters:
- qat_file_outputter
outputters:
- type: QatFileOutputter
name: qat_file_outputter
trunc: true
filename: 'public/logger_testing.log'-
Remote elastic search logger - remote logger provides a way of getting logs into elastic search.
- In order to that a file named
remote_logging.ymlmust exist in the path"/config/your_environment/":
- In order to that a file named
host: localhost
port: 9200
scheme: http
index: tests-qat-logger
facility: QAT Remote Logger Test
Documentation
Development
After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/readiness-it/qat-logger. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
Code of Conduct
Everyone interacting in the Qat::Logger project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.