Prerequisites
- Create an Axiom account.
- Create a dataset in Axiom where you send your data.
- Create an API token in Axiom with permissions to update the dataset you have created.
- Install a Ruby version manager like
rbenvand use it to install the latest Ruby version. - Install Ruby on Rails using the
gem install railscommand.
Set up the Ruby on Rails app
-
Create a new Rails app using the
rails new myappcommand. -
Navigate to the app directory:
cd myapp
Setting up the Gemfile
Open theGemfile in your Rails app, and then add the following gems:
bundle install.
Create and configure the Axiom logger
-
Create a new file named
axiom_logger.rbin theapp/servicesdirectory of your Rails app. -
Add the following code to
axiom_logger.rb:
Replace
API_TOKEN with the Axiom API token you have generated. For added security, store the API token in an environment variable.Replace DATASET_NAME with the name of the Axiom dataset where you send your data.Replace AXIOM_DOMAIN with api.axiom.co if your organization uses the US region. For more information, see Regions.Test with the Axiom logger
-
Create a new file named
axiom_logger_test.rbin theconfig/initializersdirectory. -
Add the following code to
axiom_logger_test.rb:
-
Info logs:
- Application started successfully
- User authentication successful
- Data fetched from external API
- Email notification sent
-
Warn logs:
- API request took longer than expected (including duration)
- User authentication token expiring soon (including user ID)
- Low disk space warning (including disk usage percentage)
- Non-critical configuration issue detected
-
Error logs:
- Database connection error (including error message)
- Failed to process payment (including user ID and error message)
- Unhandled exception occurred (including exception type)
- Third-party API returned an error (including status code)
-
Debug logs:
- Request parameters (including parameter values)
- Response headers (including header key-value pairs)
- User object details (including user attributes)
- Cache hit for key (including cache key)
Create the log.rake tasks
- Create a new directory named
tasksin thelibdirectory of your Rails app. - Create a new file named
log.rakein thelib/tasksdirectory. - Add the following code to
log.rake:
View logs in Axiom
-
Start your Rails server by running
rails server. -
Go to
http://localhost:3000to trigger the test log from the initializer. -
Run the Rake task to send another test log by executing
rails log:send_test_login your terminal. - In Axiom, go to the Stream tab, and then select the dataset where you send the logs.
- You see the test logs appear allowing you to view and analyze your event data coming from your Ruby on Rails app.