event-log
JSONL event stream for external integrations and hooks
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Event Log
JSONL-based event logging for external program integration. Events mirror database event creation and enable hooks similar to Claude Code's event system.
Purpose
- Emit structured events for external consumers
- Enable hook-based integrations
- Mirror the database event stream
Log Location
- Default:
.ikigai/logs/current.log - Override:
$IKIGAI_LOG_DIR/current.log
APIs
DI-Based (Preferred)
#include "logger.h"
// Create logger with explicit context
ik_logger_t *logger = ik_logger_create(ctx, working_dir);
// Create and emit event
yyjson_mut_doc *doc = ik_log_create();
yyjson_mut_val *root = yyjson_mut_doc_get_root(doc);
yyjson_mut_obj_add_str(doc, root, "event", "chunk_received");
yyjson_mut_obj_add_int(doc, root, "bytes", len);
ik_logger_debug_json(logger, doc); // Takes ownership, frees doc
Legacy Global (Migration)
// Initialize once
ik_log_init(working_dir);
// Emit events
yyjson_mut_doc *doc = ik_log_create();
// ... populate doc ...
ik_log_debug_json(doc); // Takes ownership
// Shutdown
ik_log_shutdown();
Log Levels
| Level | Function | Purpose |
|---|---|---|
| debug | ik_logger_debug_json() |
Verbose event tracing |
| info | ik_logger_info_json() |
Normal operations |
| warn | ik_logger_warn_json() |
Recoverable issues |
| error | ik_logger_error_json() |
Failures |
| fatal | ik_logger_fatal_json() |
Calls exit(1) after logging |
Output Format
Each line is a JSON object:
{"level":"debug","timestamp":"2025-01-15T10:30:00.123-05:00","logline":{"event":"chunk_received","bytes":1024}}
Inspecting Events
tail -f .ikigai/logs/current.log
Source Files
-
src/logger.h- API declarations -
src/logger.c- Implementation
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-26
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!