Skip to content

About

Rails compatible logger that sends events to AWS CloudWatchLogs

Resources

Stars

0 stars

Watchers

19 watching

Forks

 
 

Latest commit

 

History

10 Commits

Folders and files

Repository files navigation

Overview

Send logged messages to AWS CloudWatch Logs using the ruby AWS SDK.

Can be used in place of Ruby's Logger (http://www.ruby-doc.org/stdlib/libdoc/logger/rdoc/)

In fact, it (currently) returns an instance of Logger.

Forked from loggiler.

Usage

require 'cloudwatchlogger'

log = CloudWatchLogger.new({access_key_id: 'YOUR_ACCESS_KEY_ID', secret_access_key: 'YOUR_SECRET_ACCESS_KEY'}, 'YOUR_CLOUDWATCH_LOG_GROUP')

log.info("Hello World from Ruby")

In case you need to pass different region or group's different Log Stream name:

log = CloudWatchLogger.new({
  access_key_id: 'YOUR_ACCESS_KEY_ID',
  secret_access_key: 'YOUR_SECRET_ACCESS_KEY'
}, 'YOUR_CLOUDWATCH_LOG_GROUP', 'YOUR_CLOUDWATCH_LOG_STREAM', region: 'YOUR_CLOUDWATCH_REGION' )

With Rails

config/environments/production.rb

RailsApplication::Application.configure do
  config.logger = CloudWatchLogger.new({access_key_id: 'YOUR_ACCESS_KEY_ID', secret_access_key: 'YOUR_SECRET_ACCESS_KEY'}, 'YOUR_CLOUDWATCH_LOG_GROUP')
end

With Rails 4

config/initializers/cloudwatchlogger.rb

cloudwatchlogger = CloudWatchLogger.new({access_key_id: 'YOUR_ACCESS_KEY_ID', secret_access_key: 'YOUR_SECRET_ACCESS_KEY'}, 'YOUR_CLOUDWATCH_LOG_GROUP')
Rails.logger.extend(ActiveSupport::Logger.broadcast(cloudwatchlogger))

Logging

CloudWatchLogger.new returns a ruby Logger object, so take a look at:

http://www.ruby-doc.org/stdlib/libdoc/logger/rdoc/

The Logger's logdev has some special format handling though.

Logging a string

log.warn "test"

Will produce the following log message in CloudWatch Logs:

"<Date> severity=WARN, test"

Logging a Hash

log.warn :boom => :box, :bar => :soap

Will produce the following log message in CloudWatch Logs:

"<Date> severity=WARN, boom=box, bar=soap"

Bugs

https://github.com/amvse/cloudwatchlogger/issues

Pull requests welcome.

About

Rails compatible logger that sends events to AWS CloudWatchLogs

Resources

Stars

0 stars

Watchers

19 watching

Forks

Releases

Packages

Contributors

Languages