Skip to content
Back to skills

Stacks Logging

ASecurity

Use when implementing logging in Stacks - the log facade (info, error, warn, debug, success), dump/dd debugging, timing functions, file-based logging, or log configuration. Covers @stacksjs/logging and config/logging.ts.

  • 631 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added June 5, 2026
developmenttypescriptgobashdebuggingdatabase

Security analysis

A100/100

Scanned September 3, 2026

npx -y skills add stacksjs/stacks --skill stacks-logging --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Stacks Logging?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Stacks Logging
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/stacksjs-stacks-logging/badge)](https://www.skillsdirectory.com/skills/stacksjs-stacks-logging)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: stacks-logging
description: Use when implementing logging in Stacks - the log facade (info, error, warn, debug, success), dump/dd debugging, timing functions, file-based logging, or log configuration. Covers @stacksjs/logging and config/logging.ts.
license: MIT
compatibility: Bun >= 1.3.0, TypeScript
allowed-tools: Read Edit Write Bash Grep Glob
---

# Stacks Logging

Uses @stacksjs/clarity Logger with file writing to `storage/logs/stacks.log`.

## Key Paths
- Core package: `storage/framework/core/logging/src/`
- Configuration: `config/logging.ts`
- Log model: `storage/framework/defaults/app/Models/Log.ts`
- Log file: `storage/logs/stacks.log`

## Log Facade

```typescript
import { log } from '@stacksjs/logging'

await log.info('User created', { userId: 1 })
await log.success('Deployment complete')
await log.warn('Rate limit approaching', { remaining: 10 })
await log.warning('Alias for warn')
await log.error(new Error('Something failed'), { context: 'handler' })
await log.debug('Debug info', { query: 'SELECT ...' })
```

### Error with Exit
```typescript
await log.error(err, { shouldExit: true })  // logs and exits process
```

## Dump & Die

```typescript
import { dump, dd, echo } from '@stacksjs/logging'

await dump(variable1, variable2)    // inspect without stopping
await dd(variable1, variable2)      // inspect and exit (never returns)
await echo('simple output')
```

## Timing

```typescript
const done = log.time('database-query')
await performQuery()
await done()  // logs elapsed time
```

## Logger Instance

```typescript
import { logger } from '@stacksjs/logging'

const l = logger  // underlying clarity Logger instance
```

## config/logging.ts
```typescript
{
  logsPath: 'storage/logs',
  deploymentsPath: 'storage/logs/deployments'
}
```

## Gotchas
- All log methods are async — they write to both console and file
- Log file is at `storage/logs/stacks.log`
- `dd()` never returns — it exits the process after dumping
- `dump()` continues execution — use for non-destructive debugging
- The Log model enables database-backed log storage and querying
- Error logging can optionally exit the process with `shouldExit: true`
- Logging is a dependency of many other packages — it's available everywhere

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.