# Implement Logger

> Use when implementing features, adding code, or placing BreakdownLogger in source. Guides KEY naming, placement strategy, and validation. Trigger words - 'implement', '実装', 'add logger', 'ロガー追加', 'KEY naming', 'validate usage'.

- Skill: `tomevault-io/implement-logger-3` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/implement-logger-3`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/implement-logger-3/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/implement-logger-3

---


# Implement Logger

KEY命名とロガー配置はデバッグ精度を決める設計判断なので、命名重複・配置ミス・本番混入を事前に防ぐ。

## KEY Discovery

重複KEYはフィルタリングを破壊するので、新規作成前に検索する: `grep -rn 'new BreakdownLogger(' --include='*.ts' | grep -oP '"[^"]*"' | sort -u`

既存KEYあり→再利用 / 広すぎ→sub-key作成 / なし→新規作成 / 一時調査→`fix-<issue>`prefixで作成後削除

## KEY命名

方式: By feature(`auth`,`payment`) / By layer(`controller`,`service`) / By flow(`order-auth`)。制約: lowercase kebab-case、汎用名禁止(`util`,`helper`)、論理単位ごとにユニーク。

## 配置

データは境界で変換されるので、4境界点（引数受信後・値返却前・外部呼出前後・エラーハンドラ内）に置く。タイトループ内・全行後・dataパラム無し・循環参照オブジェクトは禁止。

## 記述

`LOG_LENGTH`は末尾切り詰めなので重要情報を先頭40字に置く: `logger.debug("Timeout: DB conn exceeded 30s", { host });`

## 検証

BreakdownLoggerはテスト専用なので、`deno run --allow-read jsr:@tettuan/breakdownlogger/validate [target-dir]` で非テストファイルの混入を検出する。

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/tettuan) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-15 -->

