Configuration
Sentry Sails can be configured via environment variables or a configuration file.
Configuration File
Create config/sentry.js in your Sails application:
module.exports.sentry = {
dsn: process.env.SENTRY_DSN,
environment: process.env.NODE_ENV || 'development',
tracesSampleRate: 1.0,
profilesSampleRate: 1.0,
sendDefaultPii: true
}Options
| Option | Type | Default | Description |
|---|---|---|---|
dsn | string | process.env.SENTRY_DSN | Your Sentry Data Source Name |
environment | string | process.env.NODE_ENV | Environment name (e.g., 'production', 'staging') |
release | string | process.env.SENTRY_RELEASE | Release version for tracking deployments |
tracesSampleRate | number | 1.0 | Sample rate for performance tracing (0.0 to 1.0) |
profilesSampleRate | number | 1.0 | Sample rate for profiling (0.0 to 1.0) |
sendDefaultPii | boolean | true | Capture request headers and IP addresses |
DSN Resolution
The hook resolves the DSN in the following order:
sails.config.sentry.dsn(fromconfig/sentry.js)SENTRY_DSNenvironment variable
If neither is set, the hook will log a warning and skip initialization.
Sample Rates
Traces Sample Rate
Controls what percentage of requests are traced for performance monitoring:
module.exports.sentry = {
dsn: process.env.SENTRY_DSN,
// Trace 10% of requests in production
tracesSampleRate: process.env.NODE_ENV === 'production' ? 0.1 : 1.0
}Profiles Sample Rate
Controls profiling frequency (relative to traced requests):
module.exports.sentry = {
dsn: process.env.SENTRY_DSN,
tracesSampleRate: 0.1,
// Profile 50% of traced requests
profilesSampleRate: 0.5
}Environment-Specific Configuration
You can create environment-specific configuration files:
config/env/production.js
module.exports.sentry = {
tracesSampleRate: 0.1,
profilesSampleRate: 0.1
}config/env/development.js
module.exports.sentry = {
tracesSampleRate: 1.0,
profilesSampleRate: 1.0
}Releases
Track deployments by setting a release version:
module.exports.sentry = {
dsn: process.env.SENTRY_DSN,
release: process.env.SENTRY_RELEASE || 'v1.0.0'
}Or set via environment variable:
SENTRY_RELEASE=v1.2.3Releases help you:
- Track which version introduced a bug
- See regression data across deployments
- Associate source maps with specific versions
See Source Maps for uploading source maps tied to releases.
Additional Sentry Options
Any additional options passed to config/sentry.js are forwarded to Sentry.init():
module.exports.sentry = {
dsn: process.env.SENTRY_DSN,
maxBreadcrumbs: 50,
debug: process.env.NODE_ENV === 'development'
}See the Sentry Node.js SDK documentation for all available options.