Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

cm-cloudwatchlogger

Package Overview
Dependencies
Maintainers
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cm-cloudwatchlogger

  • 0.4.0
  • Rubygems
  • Socket score

Version published
Maintainers
2
Created
Source

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 (https://github.com/zshannon/cloudwatchlogger).

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")

The region will default to the value of the environment variable AWS_REGION. 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' )

Provding an empty hash instead of credentials will cause the AWS SDK to search the default credential provider chain for credentials, namely:

  1. Environment variables AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY
  2. Amazon ECS container credentials (task role)
  3. Instance profile credentials (IAM role)

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', 'YOUR_CLOUDWATCH_LOG_STREAM', 'YOUR_CLOUDWATCH_REGION')
end

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"

Releasing

rake release

Bugs

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

Pull requests welcome.

FAQs

Package last updated on 11 Nov 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc