This document describes the emoji logging conventions used throughout BackSpace to make logs more scannable, expressive, and visually distinguishable.
Our logging system uses emojis as visual anchors that make it easy to:
- Quickly identify log categories by scanning the leftmost emoji
- Understand the operation context through consistent emoji phrases
- Highlight important information with visually distinct symbols
- Track operation flow with consistent start/end markers
- Identify error conditions at a glance
Entity | Emoji | Description |
---|---|---|
Collection | 📚 | Stack of books represents a collection |
Item | 🧩 | Puzzle piece represents an individual item |
Export | 📦 | Package/box represents export operations |
Profile | 🔖 | Bookmark represents a configuration profile |
Job | ⚙️ | Gear represents a background job |
File | 📄 | Document represents a file |
Cache | 🧠 | Brain represents memory/cache storage |
Connector | 🔗 | Link/chain represents a connection to external service |
Database | 💾 | Disk represents persistent storage |
Config | 🔧 | Wrench represents configuration/settings |
User | 👤 | Person represents user-related operations |
API | 🌐 | Globe represents API/network operations |
Action | Emoji | Description |
---|---|---|
Create/New | ✨ | Sparkles represent creation |
Read/Get | 🔍 | Magnifying glass represents lookup/find |
Update/Modify | 📝 | Pencil represents editing/updating |
Delete/Remove | 🗑️ | Trash bin represents deletion |
Process | ⚡ | Lightning represents processing |
Initialize | 🚀 | Rocket represents startup/initialization |
Download | ⬇️ | Down arrow represents download |
Upload | ⬆️ | Up arrow represents upload |
Export | 📤 | Outbox represents export |
Import | 📥 | Inbox represents import |
Validate | ✅ | Checkmark represents validation |
Calculate | 🧮 | Abacus represents calculation |
Transform | 🔄 | Recycling symbol represents transformation |
Connect | 🔌 | Plug represents connection |
Disconnect | 🔌❌ | Plug with X represents disconnection |
Status | Emoji | Description |
---|---|---|
Success | ✅ | Green checkmark represents success |
Error | ❌ | Red X represents error/failure |
Warning | Warning sign represents warning | |
Info | ℹ️ | Information symbol represents general info |
Debug | 🐞 | Bug represents debug information |
Start | 🏁 | Start flag represents beginning of operation |
Finish | 🏆 | Trophy represents successful completion |
Pending | ⏳ | Hourglass represents waiting state |
Running | 🏃 | Running figure represents in-progress state |
Skipped | ⏭️ | Skip forward represents skipped operation |
Blocked | 🚧 | Construction sign represents blocked operation |
Critical | 🔥 | Fire represents critical/urgent issue |
Parameter | Emoji | Description |
---|---|---|
Time | ⏱️ | Stopwatch represents time measurement |
Duration | ⏳ | Hourglass represents elapsed time |
Count | 🔢 | Numbers represents counts/quantities |
Size | 📏 | Ruler represents size/dimensions |
Performance | 🚀 | Rocket represents performance metrics |
Memory | 💾 | Disk represents memory/storage metrics |
Percentage | 📊 | Chart represents percentage/ratio |
Currency | 💰 | Money bag represents financial values |
ID | 🔑 | Key represents identifier |
Name | 📛 | Name badge represents names |
URL | 🔗 | Link represents URLs |
📧 | Email symbol represents email addresses |
We compose emoji phrases following a consistent pattern:
[Status][Action][Object][Parameter]
For example:
✅📝📚
= Success + Update + Collection❌🔍🧩
= Error + Search + Item🏁📤📦
= Start + Export + Package
Operation | Emoji Phrase | Description |
---|---|---|
Start Collection Creation | 🏁✨📚 |
Starting to create a collection |
Collection Created | ✅✨📚 |
Successfully created a collection |
Collection Update Failed | ❌📝📚 |
Failed to update a collection |
Item Lookup | 🔍🧩 |
Looking up an item |
Export Processing | ⚡📤📦 |
Processing an export operation |
Processing Complete | ✅⚡ |
Processing completed successfully |
Download Start | 🏁⬇️📄 |
Starting file download |
Memory Cache Hit | 🧠🔍 |
Found item in memory cache |
Database Write | 📝💾 |
Writing to database |
API Request | 🔍🌐 |
Making an API request |
Emojis can be combined with other Unicode characters to create richer visual patterns:
Purpose | Symbol | Description |
---|---|---|
Flow direction | ➡️ ⬅️ ⬆️ ⬇️ |
Direction arrows |
Process flow | 🔄 ↻ ↺ 🔁 |
Rotation/recycling |
Sequence | ①②③ ❶❷❸ |
Numbered steps |
Branching | ⑂ ⑃ ⑄ ┣━┫ |
Branch symbols |
Grouping | 〔 〕 《 》 |
Grouping brackets |
Progress | Symbol | Description |
---|---|---|
0% | ▱▱▱▱▱▱▱▱▱▱ |
Empty progress |
25% | ▰▰▱▱▱▱▱▱▱▱ |
Quarter progress |
50% | ▰▰▰▰▰▱▱▱▱▱ |
Half progress |
75% | ▰▰▰▰▰▰▰▰▱▱ |
Three-quarter progress |
100% | ▰▰▰▰▰▰▰▰▰▰ |
Complete progress |
Custom | [▰▰▰▱▱▱▱▱▱▱] 30% |
Progress with percentage |
Type | Symbols | Description |
---|---|---|
Math | ∑ ∏ √ ∛ ∞ |
Mathematical operations |
Comparison | ≈ ≠ ≤ ≥ |
Comparison operators |
Logic | ∧ ∨ ¬ ⊕ |
Logical operators |
Sets | ∩ ∪ ∈ ∉ ⊂ |
Set operations |
Technical | ⌘ ⌥ ⎈ ⌫ |
Technical commands |
Purpose | Pattern | Description |
---|---|---|
Sequential steps | 🏁 → ⚡ → 💾 → ✅ |
Process steps from start to finish |
Hierarchical data | 📚 ┣━ 🧩 ┣━ 📄 |
Parent-child relationships |
State transition | [⏳🔄] ⟹ [✅🏆] |
State change |
Parameter values | 🔢 items:42 ⎮ 📏 size:2.3MB |
Separated parameter list |
Causal relation | ❌ ∵ timeout ∴ 🔄 retry |
Because/therefore relationship |
For consistent visual scanning, log lines should follow this pattern:
[TimeStamp] [LogLevel] [EmojiPhrase] [ClassName]: [MethodName]: [Message] [Parameters]
For example:
2023-08-15T14:23:45.342Z INFO 🏁📤📚 ExportManager: exportCollection: Starting collection export collection: scifi profiles: 2
When displaying parameters, prefix each parameter with an appropriate emoji:
🔑 id: sci-fi123 📛 name: "Science Fiction" 🔢 items: 42
You can enhance this with Unicode separators:
🔑 id: sci-fi123 │ 📛 name: "Science Fiction" │ 🔢 items: 42
The emoji logging system is implemented in src/lib/utils/logger.ts
and provides:
- A standard set of emoji constants
- Helper functions for constructing emoji phrases
- Logger methods that efficiently handle emoji inclusion
- Performance considerations to avoid unnecessary work
// In a class method
public async processCollection(id: string): Promise<void> {
const methodName = 'processCollection';
this.logger.info(methodName, `${emojiPhrase('Start', 'Process', 'Collection')} Processing collection`, { id });
try {
// operation code...
this.logger.info(methodName, `${emojiPhrase('Success', 'Process', 'Collection')} Collection processed`, { id });
} catch (error) {
this.logger.error(methodName, `${emojiPhrase('Error', 'Process', 'Collection')} Failed to process collection`, { id }, error);
throw error;
}
}
When analyzing logs:
- Scan the leftmost emoji to quickly identify error conditions (❌)
- Look for paired start/end markers (
🏁
/🏆
) to track operation flow - Follow emoji object types (📚, 🧩, etc.) to track specific entities
- Notice emoji patterns to understand the application's behavior
- Track sequences with arrows and numbered indicators (→, ①, ②)
════════════════════════ 🚀 SERVER STARTING 🚀 ════════════════════════
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ CRITICAL ERROR ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈
┌─────────────────────── Export Process ───────────────────────┐
│ 🏁📤 Started export job #1234 │
│ ├── 📚 Collection: Science Fiction │
│ ├── 🧩 Items: 42 │
│ └── 📁 Target: /export/scifi │
└───────────────────────────────────────────────────────────────┘
❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
DATABASE CONNECTION FAILED - SYSTEM CANNOT CONTINUE
❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
Memory usage: 2.4GB [▰▰▰▰▰▰▱▱▱▱] 60%
CPU load: 1.2 [▰▰▱▱▱▱▱▱▱▱] 20%
Disk space: 120GB [▰▰▰▰▰▰▰▰▱▱] 80%
Collection Update Flow: 📝📚 → 💾 → 🔄 → ✅
╔═══════════╦══════════╦════════════╦═══════════╗
║ 1. MODIFY ║ 2. STORE ║ 3. PROCESS ║ 4. VERIFY ║
╚═══════════╩══════════╩════════════╩═══════════╝
For special log sections or important notices, consider these multi-character emoji art patterns:
Purpose | Emoji Art | Description |
---|---|---|
Critical Error | 💥 🔥 🔥 🔥 💥 |
Flames indicating critical error |
Major Success | 🎉 ✨ 🏆 ✨ 🎉 |
Celebration for major milestone |
Security Warning | 🔒 ⚠️ 🔒 ⚠️ 🔒 |
Security-related warning |
Performance Issue | ⚡ 🐢 ⚡ 🐢 ⚡ |
Slow performance warning |
Data Corruption | 💾 🔨 💔 🔨 💾 |
Data corruption alert |
Startup Banner | 🚀 🚀 🚀 BackSpace Initialized 🚀 🚀 🚀 |
Application startup |
Shutdown Banner | 👋 👋 👋 BackSpace Shutting Down 👋 👋 👋 |
Application shutdown |
Database Operations | 💾 ⟲ 🔍 ⟳ 💾 |
Database read/write cycle |
Metrics Dashboard | 📊 📈 📉 📊 |
Performance metrics report |