Skip to content

Add context-aware emoji support to log output#26

Merged
warengonzaga merged 17 commits intodevfrom
copilot/add-context-aware-emoji-log
Feb 12, 2026
Merged

Add context-aware emoji support to log output#26
warengonzaga merged 17 commits intodevfrom
copilot/add-context-aware-emoji-log

Conversation

Copy link
Contributor

Copilot AI commented Feb 11, 2026

Implements intelligent emoji selection for log messages based on content analysis, with fallback to level-specific defaults. Feature is enabled by default to enhance log readability.

Changes

Emoji Selection Engine (emoji-selector.ts)

  • Keyword-based context matching using precompiled regex patterns against 37 curated gitmoji mappings
  • Prioritizes specific contexts (database, deployment, security) over generic (error, failure)
  • Analyzes message strings and object keys (not full object stringify) for performance
  • Falls back to level-specific emoji when no context matches
  • Safe property access patterns using explicit switch statements instead of dynamic indexing

Configuration (types/index.ts)

  • New EmojiConfig interface supports custom mappings, fallback overrides, and exclusive mode
  • Integrated into LogFormatConfig.emoji for customization
  • Added includeEmoji?: boolean flag (defaults to true) for enable/disable control
  • Emoji configuration managed at Logger.configure() level to preserve compiled regex cache

Output Format

  • Modified MessageFormatter to inject emoji between level and message: [LEVEL][EMOJI]: message
  • Respects timestamp configuration; emoji position remains consistent
  • Enabled by default

Performance Optimizations

  • Regex patterns precompiled and cached on configuration change (not per log line)
  • Object analysis limited to keys only (no full JSON.stringify)
  • Configuration applied once at Logger level, not on every format call

Security & Type Safety

  • Regex metacharacters escaped to prevent ReDoS attacks
  • Explicit UNKNOWN level handling
  • Safe property access with Object.prototype.hasOwnProperty.call()
  • Strict typing: customFallbacks uses Partial<Record<'DEBUG' | 'INFO' | 'WARN' | 'ERROR' | 'LOG', string>>
  • ESLint security plugin configured in both configs to support security rule comments

Usage

// Enabled by default
LogEngine.error('Database connection failed');
// [2026-02-11T14:00:00.000Z][2:00PM][ERROR][🗃️]: Database connection failed

// Disable if needed
LogEngine.configure({
  format: { includeEmoji: false }
});

// Custom mappings
LogEngine.configure({
  format: {
    emoji: {
      customMappings: [
        { emoji: '🎯', code: ':dart:', keywords: ['goal', 'target'] }
      ],
      customFallbacks: { ERROR: '💀' }
    }
  }
});

// Control both
LogEngine.configure({
  format: {
    includeEmoji: false,
    includeIsoTimestamp: true,
    includeLocalTime: false
  }
});

Context Mappings

Context Keywords Emoji
Database database, sql, query, postgres, mongo 🗃️
Deploy deploy, release, production 🚀
Performance performance, latency, optimize ⚡️
Security security, auth, vulnerability 🔒️
Critical critical, urgent, emergency, crash 🚑️

Fallback emoji: DEBUG 🐞, INFO ℹ️, WARN ⚠️, ERROR ❌, LOG ✅

Exports

Added to public API: EmojiSelector, EmojiConfig, EmojiMapping, EMOJI_MAPPINGS, FALLBACK_EMOJI

Breaking Change

This is a breaking change - emoji are now enabled by default. Users who want the previous behavior (no emoji) must explicitly set format: { includeEmoji: false } in their configuration.

Original prompt

This section details on the original issue you should resolve

<issue_title>Add support for context-aware and fallback emoji in log output</issue_title>
<issue_description>### Motivation
Enhance the expressiveness and clarity of logs by adding context-aware emojis to each log message. Emoji help users visually parse large logs and instantly spot the type or intent of a log line, making debugging and operations more intuitive.

Proposed Feature & Behavior

  • Context-Aware Emoji Engine:

    • Implement an algorithm that analyzes the log context (log level + message content) and assigns the most relevant emoji for that line.
    • The emoji selection should leverage a rich set of common terminal/commit emojis. We recommend starting from the gitmoji set (see their API and JSON export for emoji+descriptions mapping).
    • Typical mappings might be:
      • "fix", "bug", "error" → 🐛, ❌, 🚑️
      • "deploy" → 🚀
      • "performance" → ⚡️
      • "security" → 🔒️
      • "database" → 🗃️
      • ... (see gitmoji set for more)
  • Fallback to Pre-Defined Defaults:

    • If no suitable emoji is detected via the context, fallback to one of 5 persistent emoji, mapped to the log level (e.g.,
      • DEBUG 🐞
      • INFO ℹ️
      • WARN ⚠️
      • ERROR ❌
      • LOG ✅
        )
    • This guarantees every log line is visually decorated, even if the message/context is unknown.
  • User Extensibility:

    • Allow users to customize, extend, or override emoji mappings and context rules (e.g., via configuration object).
  • Output Format:

    • Add the emoji as a new element after the log status: [<STATUS>][<EMOJI>]: text...

Implementation Tips

  • Use the gitmojis.json from https://gitmoji.dev/api/gitmojis as a reference for the emoji set and descriptions.
  • Match log context by mapping keywords in the message (and optionally data) against the gitmoji descriptions.
  • Provide a helper for users to supply their own context rules or mappings.
  • If needed, include a list of the fallback emoji in docs, and reference the API for the up-to-date set.

Example

logger.error('Critical database failure');
// [ERROR][🗃️]: Critical database failure

logger.info('Deployed successfully');
// [INFO][🚀]: Deployed successfully

logger.warn('Performance dropping');
// [WARN][⚡️]: Performance dropping

logger.debug('Step into function');
// [DEBUG][🐞]: Step into function

logger.info('Unknown event happened');
// [INFO][ℹ️]: Unknown event happened (fallback)

Resources


Summary:

  • Use context-aware emoji if possible, fallback to default level emoji otherwise.
  • Start with gitmoji set for context mapping.
  • Output format is [<STATUS>][<EMOJI>]: message ...
  • Allow user extensibility to customize rules or add emoji.</issue_description>

<agent_instructions>PR this to dev branch first as this is an experimental feature.</agent_instructions>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 3 commits February 11, 2026 14:00
Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>
Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>
Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>
Copilot AI changed the title [WIP] Add support for context-aware emoji in log output Add context-aware emoji support to log output Feb 11, 2026
Copilot AI requested a review from warengonzaga February 11, 2026 14:09
@warengonzaga warengonzaga marked this pull request as ready for review February 11, 2026 14:17
@warengonzaga warengonzaga requested a review from Copilot February 11, 2026 14:18
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds an opt-in, context-aware emoji feature to the log formatting pipeline, allowing log lines to include an emoji selected from message/data content (with level-based fallback emoji) while preserving backward compatibility by keeping the feature disabled by default.

Changes:

  • Introduces EmojiSelector plus curated EMOJI_MAPPINGS and FALLBACK_EMOJI for context and fallback selection.
  • Extends LogFormatConfig with emoji?: EmojiConfig and exports the new emoji types/utilities via the public API.
  • Updates MessageFormatter output format to include [EMOJI] between [LEVEL] and : message, and adds unit/integration tests + README documentation.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
src/types/index.ts Adds EmojiConfig/EmojiMapping and plugs emoji config into LogFormatConfig.
src/index.ts Re-exports emoji types and formatter utilities as part of the public API.
src/formatter/message-formatter.ts Integrates emoji selection into formatted output and wires formatter config into EmojiSelector.
src/formatter/index.ts Exposes emoji selector and emoji data from the formatter barrel.
src/formatter/emoji-selector.ts Implements the selection engine (message/data analysis + fallbacks).
src/formatter/emoji-data.ts Provides curated default mappings and level-based fallback emoji.
src/tests/emoji.test.ts Unit tests for selector behavior, config, fallbacks, and edge cases.
src/tests/emoji-integration.test.ts Integration tests ensuring emoji appear in the final formatted log output.
README.md Documents emoji feature usage, configuration, and output format.

@warengonzaga
Copy link
Member

@copilot apply changes based on the comments in this thread

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Feb 11, 2026

@copilot apply changes based on the comments in this thread

Applied all changes from the review feedback in commit c7d958f:

✅ Fixed getConfig() to return deep copies preventing mutation
✅ Added regex metacharacter escaping in keyword matching to prevent ReDoS
✅ Narrowed customFallbacks type to Partial<Record<'DEBUG' | 'INFO' | 'WARN' | 'ERROR' | 'LOG', string>> for type safety
✅ Made description field optional in EmojiMapping interface

All tests passing (324/324), build successful.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • api.example.com
    • Triggering command: /opt/hostedtoolcache/node/24.13.0/x64/bin/node /opt/hostedtoolcache/node/24.13.0/x64/bin/node /home/REDACTED/work/log-engine/log-engine/node_modules/.pnpm/jest-worker@29.7.0/node_modules/jest-worker/build/workers/processChild.js (dns block)
  • downloads.snyk.io
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node node wrapper_dist/bootstrap.js exec (dns block)
  • o30291.ingest.sentry.io
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node node wrapper_dist/bootstrap.js exec (dns block)
  • static.snyk.io
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node node wrapper_dist/bootstrap.js exec (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI and others added 3 commits February 11, 2026 23:24
Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>
Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>
Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>
Copilot AI changed the title Add context-aware emoji support to log output Refactor emoji configuration: enable by default, move toggle to format level Feb 11, 2026
@warengonzaga warengonzaga requested a review from Copilot February 12, 2026 00:41
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 11 out of 11 changed files in this pull request and generated 4 comments.

Comments suppressed due to low confidence (1)

src/formatter/message-formatter.ts:27

  • The JSDoc for MessageFormatter.format still describes the output format as [ISO_TIMESTAMP][LOCAL_TIME][LEVEL]: ..., but emoji are now included by default (includeEmoji: true) and the formatter can produce [...][LEVEL][EMOJI]: .... Please update the comment so it matches the actual output format(s), including how includeEmoji: false affects it.
    includeEmoji: true
  };

  /**
     * Formats a log message with timestamp, level indicator, and appropriate coloring

@warengonzaga
Copy link
Member

@copilot apply changes based on the comments in this thread

@codecov
Copy link

codecov bot commented Feb 12, 2026

Codecov Report

❌ Patch coverage is 84.61538% with 12 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/formatter/emoji-selector.ts 81.25% 8 Missing and 4 partials ⚠️

📢 Thoughts on this report? Let us know!

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>
Copilot AI changed the title Refactor emoji configuration: enable by default, move toggle to format level Fix ESLint errors from unconfigured security plugin rule comments Feb 12, 2026
@warengonzaga warengonzaga removed their request for review February 12, 2026 04:25
Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>
Copilot AI changed the title Fix ESLint errors from unconfigured security plugin rule comments Fix ESLint security rule violations in emoji selector Feb 12, 2026
Copilot AI requested a review from warengonzaga February 12, 2026 04:28
- Remove deprecated dead-code methods (getMappings, matchesKeywords) from EmojiSelector
- Add tests for unknown log level edge case in EmojiSelector
- Add tests for Logger.configure emoji configuration path
- Add tests for numeric and boolean data edge cases
- Remove deprecated dead-code methods (getMappings, matchesKeywords) from EmojiSelector
- Add tests for unknown log level edge case in EmojiSelector
- Add tests for Logger.configure emoji configuration path
- Add tests for numeric and boolean data edge cases
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 13 changed files in this pull request and generated 5 comments.

@warengonzaga
Copy link
Member

@copilot apply changes based on the comments in this thread

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Feb 12, 2026

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • api.example.com
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node node /home/REDACTED/work/log-engine/log-engine/node_modules/.bin/../jest/bin/jest.js (dns block)
  • downloads.snyk.io
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node node wrapper_dist/bootstrap.js exec (dns block)
  • o30291.ingest.sentry.io
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node node wrapper_dist/bootstrap.js exec (dns block)
  • static.snyk.io
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node node wrapper_dist/bootstrap.js exec (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI changed the title Fix ESLint security rule violations in emoji selector Add context-aware emoji support to log output Feb 12, 2026
@warengonzaga warengonzaga merged commit fc17e56 into dev Feb 12, 2026
10 checks passed
@warengonzaga warengonzaga deleted the copilot/add-context-aware-emoji-log branch February 12, 2026 07:48
warengonzaga added a commit that referenced this pull request Feb 12, 2026
* 📦 new: add bundle size checker with tests and workflow (#27)

* Initial plan

* 📦 new: add bundle size checker with tests and workflow

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 📖 docs: add bundle size checker to documentation

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🧪 test: fix inverted logic in size checker test

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🔒 security: add permissions block to size-check workflow

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* ⚙️ setup: fix linting issues in size-checker test

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🔧 update: address PR review feedback

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🔧 update: improve error handling and validation

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🔒 security: fix shell injection and improve error visibility

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🔒 security: fix non-literal require in tests

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 📦 new (emoji): add emoji selector and context-aware logic (#26)

* Initial plan

* 📦 new (emoji): add emoji selector and context-aware logic

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 📖 docs: add comprehensive emoji feature documentation

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🔧 update: fix linting issues in emoji feature

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🔧 update (emoji): address code review feedback

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🔧 update: enable emoji by default and move toggle to format.includeEmoji

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 📖 docs: update README for new emoji configuration pattern

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🔧 update: fix trailing spaces in tests

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🔧 update (emoji): address code review feedback on performance and state management

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🔧 update (emoji): move config to Logger.configure() to preserve regex cache

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🔧 update: fix eslint errors by removing invalid security rule comments

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🔒 security: add eslint-disable comments for safe code patterns

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* � test: improve patch coverage for emoji feature

- Remove deprecated dead-code methods (getMappings, matchesKeywords) from EmojiSelector
- Add tests for unknown log level edge case in EmojiSelector
- Add tests for Logger.configure emoji configuration path
- Add tests for numeric and boolean data edge cases

* 🧪 test: improve patch coverage for emoji feature

- Remove deprecated dead-code methods (getMappings, matchesKeywords) from EmojiSelector
- Add tests for unknown log level edge case in EmojiSelector
- Add tests for Logger.configure emoji configuration path
- Add tests for numeric and boolean data edge cases

* 🗑️ remove: delete outdated Snyk security instructions

* 🔧 update: address code review feedback on performance and safety

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>
Co-authored-by: Waren Gonzaga <opensource@warengonzaga.com>

* 🚀 release: bump version to 2.3.0

* 🗑️ remove: delete repository banner image

* 📖 docs: update README with new features and improved descriptions

* 📖 docs: update README to format code blocks for emoji log examples

---------

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>
warengonzaga added a commit that referenced this pull request Feb 14, 2026
* 📦 new: add bundle size checker with tests and workflow (#27)

* Initial plan

* 📦 new: add bundle size checker with tests and workflow

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 📖 docs: add bundle size checker to documentation

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🧪 test: fix inverted logic in size checker test

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🔒 security: add permissions block to size-check workflow

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* ⚙️ setup: fix linting issues in size-checker test

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🔧 update: address PR review feedback

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🔧 update: improve error handling and validation

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🔒 security: fix shell injection and improve error visibility

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🔒 security: fix non-literal require in tests

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 📦 new (emoji): add emoji selector and context-aware logic (#26)

* Initial plan

* 📦 new (emoji): add emoji selector and context-aware logic

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 📖 docs: add comprehensive emoji feature documentation

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🔧 update: fix linting issues in emoji feature

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🔧 update (emoji): address code review feedback

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🔧 update: enable emoji by default and move toggle to format.includeEmoji

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 📖 docs: update README for new emoji configuration pattern

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🔧 update: fix trailing spaces in tests

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🔧 update (emoji): address code review feedback on performance and state management

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🔧 update (emoji): move config to Logger.configure() to preserve regex cache

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🔧 update: fix eslint errors by removing invalid security rule comments

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🔒 security: add eslint-disable comments for safe code patterns

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* � test: improve patch coverage for emoji feature

- Remove deprecated dead-code methods (getMappings, matchesKeywords) from EmojiSelector
- Add tests for unknown log level edge case in EmojiSelector
- Add tests for Logger.configure emoji configuration path
- Add tests for numeric and boolean data edge cases

* 🧪 test: improve patch coverage for emoji feature

- Remove deprecated dead-code methods (getMappings, matchesKeywords) from EmojiSelector
- Add tests for unknown log level edge case in EmojiSelector
- Add tests for Logger.configure emoji configuration path
- Add tests for numeric and boolean data edge cases

* 🗑️ remove: delete outdated Snyk security instructions

* 🔧 update: address code review feedback on performance and safety

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>
Co-authored-by: Waren Gonzaga <opensource@warengonzaga.com>

* 🚀 release: bump version to 2.3.0

* 🗑️ remove: delete repository banner image

* 📖 docs: update README with new features and improved descriptions

* 📖 docs: update README to format code blocks for emoji log examples

* 🔧 update: add LogCallOptions interface and update signatures (#31)

* Initial plan

* 🔧 update: add LogCallOptions interface and update signatures

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🧪 test: add comprehensive tests for emoji override

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🔧 update: add options parameter to LogEngine wrapper

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🔧 update: address code review feedback

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 📖 docs: enhance LogCallOptions JSDoc and add LogEngine wrapper tests

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🔧 update: replace magic numbers with LogMode enum constants

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

* 🚀 release: bump version to 2.3.1

---------

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for context-aware and fallback emoji in log output

3 participants