Socket
Book a DemoInstallSign in
Socket

@luckyorange/utilities-cron-logger

Package Overview
Dependencies
Maintainers
8
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@luckyorange/utilities-cron-logger

More helpful log messages for cron jobs

1.1.4
latest
npmnpm
Version published
Maintainers
8
Created
Source

LuckyLogger

LuckyLogger is a lightweight logging utility built specifically for cron jobs. It uses Google Cloud Logging and can optionally patch console.log, console.error, etc. to log to GCP automatically.

Features

  • Simple setup with minimal configuration
  • Automatically formats logs with proper severity levels
  • Filters logs based on a minimum log level
  • Adds Kubernetes pod and container metadata automatically
  • (New!) Optional patching of console methods to log to GCP

Installation

npm install @luckyorange/utilities-cron-logger

Usage

1. Basic Logging

const LuckyLogger = require('@luckyorange/utilities-cron-logger')
// Initialize with the name of your cron job
const logger = new LuckyLogger('session-count-check')

2. Logging to GCP

logger.info('Starting session count check')
logger.debug('Session count details', { sessionCount: 42 })
logger.warn('Session count is lower than expected')
logger.error('Failed to fetch session data')
logger.critical('Session service unreachable')

Constructor

new LuckyLogger(cronName, options = {})
ParameterTypeDefaultDescription
cronNamestring(required)Name of the cron job (used for the log name and container name)
optionsobject{}Configuration options (see below)

Options

OptionTypeDefaultDescription
minLogLevelstring'INFO'Minimum severity to log (DEBUG, INFO, WARNING, ERROR, CRITICAL)
patchConsolebooleanfalseWhether to patch console.log, console.warn, etc. to log to GCP

Examples

Basic usage with defaults:

const logger = new LuckyLogger('session-count-check')

With options:

const logger = new LuckyLogger('session-count-check', {
  minLogLevel: 'ERROR',
  patchConsole: true
})

Just enabling console patching:

const logger = new LuckyLogger('session-count-check', { patchConsole: true })
console.log('This logs to both the terminal and Google Cloud Logging')

Log Methods

Each method corresponds to a severity level in Google Cloud Logging:

MethodSeverity
logger.debug(message, metadata)DEBUG
logger.info(message, metadata)INFO
logger.warn(message, metadata)WARNING
logger.error(message, metadata)ERROR
logger.critical(message, metadata)CRITICAL
  • message: a string describing the log event
  • metadata: (optional) an object with additional information (e.g., IDs, counts, etc.)

Optional: Restore Console

If you enabled patchConsole and later want to undo it:

logger.restoreConsole()
console.log('Now this logs only to the terminal')

Environment Variables

  • HOSTNAME — auto-populated in Buddy; used as the pod_name
  • CONTAINER_NAME — auto-populated in Buddy or container environments

Example

const LuckyLogger = require('@luckyorange/utilities-cron-logger')
const logger = new LuckyLogger('session-count-check', {
  minLogLevel: 'INFO',
  patchConsole: true
})

logger.info('Cron started')
console.warn('This is also sent to GCP because patchConsole is enabled')

try {
  logger.debug('Fetched session data', { sessions: 500 })
} catch (error) {
  logger.error('Error during cron execution', { error: error.message })
}

Optional: Restore Console

If you enable patchConsole, you can later restore the original console methods to stop logging to Google Cloud.

Example

const LuckyLogger = require('@luckyorange/utilities-cron-logger')
// Enable console patching
const logger = new LuckyLogger('session-count-check', { patchConsole: true })
console.log('This goes to both terminal and GCP')

// Restore original console behavior
logger.restoreConsole()
console.log('This now logs to terminal only')

This is useful if you only want GCP logging during certain phases of a script, or for fine-grained control in tests, parallel jobs, or debugging.

License

Internal use only — property of Lucky Orange

FAQs

Package last updated on 07 Aug 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.