Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Aug 18, 2025

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@seek/logger ^10.0.0 -> ^11.0.0 age adoption passing confidence

Release Notes

seek-oss/logger (@​seek/logger)

v11.0.0

Compare Source

This much-delayed release introduces an opt-in eeeoh integration for SEEK's proprietary logging solution and Datadog observability practices. It supports standard DD_ environment variables and advanced log tiering behaviour.

// process.env.DD_ENV = 'production';
// process.env.DD_SERVICE = 'my-component-name';
// process.env.DD_VERSION = 'abcdefa.123';

const logger = createLogger({
  eeeoh: {
    datadog: 'tin',
    team: 'my-owner-name', // Optional
    use: 'environment',
  },
});

logger.info('Hello');
// {
//   "ddsource": "nodejs",
//   "ddtags": "env:production,team:my-owner-name,version:abcdefa.123",
//   "eeeoh": {
//     "logs": {
//       "datadog": {
//         "enabled": true,
//         "tier": "tin"
//       }
//     }
//   },
//   "env": "production",
//   "msg": "Hello",
//   "service": "my-component-name",
//   "version": "abcdefa.123"
// }

Our new Datadog logging guidance on Backstage walks through recommendations to reduce gotchas and rework down the track.

While you don't need to upgrade overnight, we have tested the new version on multiple production components for several weeks, and more feedback will improve the Datadog experience for all 🙏

[!WARNING]

Propagating the DD_ENV environment variable to a workload container can unexpectedly change the env tag that hot-shots applies to custom metrics. If your Gantry service uses this package directly or alongside seek-datadog-custom-metrics and seek-koala, heed our Gantry logging guidance to avoid a breaking change to custom metrics and dependent resources (dashboards, monitors, etc).

Major Changes
  • Restrict select log attributes (#​184)

    When specifying attributes in a child logger or log method:

    logger.child({ env });
    //             ~~~
    
    logger.method({ env }, msg);
    //              ~~~

    The following keys are no longer recommended as they should be set upfront in createLogger:

    Key Replacement
    ddsource eeeoh
    ddtags eeeoh
    eeeeoh eeeoh
    eeoh eeeoh
    env eeeoh: { use: 'environment' }
    service eeeoh: { use: 'environment' }
    version eeeoh: { use: 'environment' }

    The following keys now have specific TypeScript types associated with them:

    Key Type
    duration number
    eeeoh object
    latency number
    x-request-id string

    This change aims to drive alignment with eeeoh & Datadog conventions for an improved out-of-box experience. Reach out if these new type definitions pose problems for your application.

    We also recommend reviewing our guidance on logger types and reducing coupling to the pino.Logger type for forward compatibility.

  • Apply err serializer to error key (#​184)

    This makes it easier to move between logger({ err }, 'msg') and logger({ error }, 'msg') . If your application was already sending the error key, you may observe slightly different output. See pino-std-serializers for more information about the serializer.

    The error key provides a better out-of-box experience in Datadog as a standard attribute. SEEK applications do not need to rewrite existing errs at this time; @seek/logger will automatically re-map err to error when you opt in to the eeeoh integration, and we may investigate a codemod or an equivalent bulk migration option in the future.

  • Restrict manual base.eeeoh configuration (#​184)

    If you have an application that manually configures eeeoh routing like so:

    createLogger({
      base: {
        ddsource: 'nodejs',
        ddtags: `version:${process.env.VERSION || 'missing'},env:${process.env.ENVIRONMENT || 'missing'}`,
        service: 'my-component-name',
        eeeoh: {
          logs: {
            datadog: {
              enabled: true,
              tier: 'tin',
            },
          },
        },
      },
    });

    @seek/logger will now treat this as a type error to encourage adoption and stronger typing of our built-in eeeoh integration. Take particular note of the use: 'environment' prerequisites before proceeding.

    createLogger({
      eeeoh: { datadog: 'tin', use: 'environment' },
    });

    The built-in integration does not support configuring a Splunk destination; you can append a Splunk destination via your LogCentral strategy.

Minor Changes
  • createDestination: Remove ddsource, eeeoh, env and service with mock: true (#​218)

    These mock defaults can be overwritten; see our documentation for more information.

  • Export createLogger as a named export (#​189)

    This improves forward compatibility with TypeScript & ESM. While the named export is recommended, there is no immediate need to migrate existing codebases, and we've left the default export in place.

    Migration:

    - import createLogger from '@​seek/logger';
    + import { createLogger } from '@​seek/logger';
  • Add eeeoh integration (#​184)

    See the documentation for more information.


Configuration

📅 Schedule: Branch creation - "after 3:00 am and before 6:00 am every weekday" in timezone Australia/Melbourne, Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@changeset-bot
Copy link

changeset-bot bot commented Aug 18, 2025

🦋 Changeset detected

Latest commit: 438f28e

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@seek/aws-codedeploy-infra Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copy link
Member

@72636c 72636c left a comment

Choose a reason for hiding this comment

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

Merging this without tackling the broader issue for now to un-brick CI (Pino type changes).

@72636c 72636c merged commit a35e06c into main Aug 18, 2025
7 checks passed
@72636c 72636c deleted the renovate-seek-logger-11.x branch August 18, 2025 02:53
@seek-oss-ci seek-oss-ci mentioned this pull request Aug 18, 2025
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.

2 participants