Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,20 @@ on:
branches: [ master ]
pull_request:
branches: [ master ]
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [6.x, 8.x, 10.x, 14.x, 16.x]
node-version: [20.x, 22.x, 24.x]
steps:
- uses: actions/checkout@v2
- name: Set up Node.js version ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'

- run: npm install
- run: npm run lint
Expand Down
5 changes: 2 additions & 3 deletions .github/workflows/node-js-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,13 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [6.x, 8.x, 10.x, 14.x, 16.x]
node-version: [20.x, 22.x, 24.x]
steps:
- uses: actions/checkout@v2
- name: Set up Node.js version ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'

- run: npm install
- run: npm run lint
Expand All @@ -29,7 +28,7 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: '16.x'
node-version: '22.x'
registry-url: https://registry.npmjs.org/
- run: npm ci
- run: npm publish
Expand Down
23 changes: 11 additions & 12 deletions lib/Logger.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,20 @@ var util = require('util')
var R = require('ramda')
var isString = R.compose(R.equals('String'), R.type)
var isObject = R.compose(R.equals('Object'), R.type)
var isError = util.isError
var merge = require('lodash.merge')
var _ = require('lodash')
var Sequence = require('./handlers/Sequence')

function Logger(_options) {

var levels = ['trace', 'debug', 'info', 'warn', 'error', 'fatal']
var handlers = _options && _options.handlers
var sequence = _options && _options.sequence || new Sequence(handlers)
var options = merge({}, { message: '', level: 'info', maxListeners: 100, sequence: sequence }, _options)
var options = _.merge({}, { message: '', level: 'info', maxListeners: 100, sequence: sequence }, _options)
var self = this

self.child = function(_options) {
var sequence = _options.sequence ? _options.sequence : new Sequence(_options.handlers)
var child = new Logger(merge({}, { sequence: sequence }, _options))
var child = new Logger(_.merge({}, { sequence: sequence }, _options))
child.on('message', self.log)
return child
}
Expand All @@ -36,7 +35,7 @@ function Logger(_options) {

self._logEvent = function(arg1, arg2, arg3, arg4) {
// message, error, context, level
if (arguments.length === 4) return self.emit('internal-message', merge(
if (arguments.length === 4) return self.emit('internal-message', _.merge(
{},
{ message: options.message, level: options.level },
arg3,
Expand All @@ -46,29 +45,29 @@ function Logger(_options) {
))

// message, error, level
if (arguments.length === 3 && isString(arg1) && isError(arg2) && isString(arg3)) return self._logEvent(arg1, arg2, null, arg3)
if (arguments.length === 3 && isString(arg1) && arg2 instanceof Error && isString(arg3)) return self._logEvent(arg1, arg2, null, arg3)
// message, error, context
if (arguments.length === 3 && isString(arg1) && isError(arg2) && isObject(arg3)) return self._logEvent(arg1, arg2, arg3, null)
if (arguments.length === 3 && isString(arg1) && arg2 instanceof Error && isObject(arg3)) return self._logEvent(arg1, arg2, arg3, null)
// message, context, level
if (arguments.length === 3 && isString(arg1) && isObject(arg2) && isString(arg3)) return self._logEvent(arg1, null, arg2, arg3)
// error, context, level
if (arguments.length === 3 && isError(arg1) && isObject(arg2) && isString(arg3)) return self._logEvent(null, arg1, arg2, arg3)
if (arguments.length === 3 && arg1 instanceof Error && isObject(arg2) && isString(arg3)) return self._logEvent(null, arg1, arg2, arg3)
// message, level
if (arguments.length === 2 && isString(arg1) && isString(arg2)) return self._logEvent(arg1, null, null, arg2)
// message, error
if (arguments.length === 2 && isString(arg1) && isError(arg2)) return self._logEvent(arg1, arg2, null, null)
if (arguments.length === 2 && isString(arg1) && arg2 instanceof Error) return self._logEvent(arg1, arg2, null, null)
// message, context
if (arguments.length === 2 && isString(arg1) && isObject(arg2)) return self._logEvent(arg1, null, arg2, null)
// error, level
if (arguments.length === 2 && isError(arg1) && isString(arg2)) return self._logEvent(null, arg1, null, arg2)
if (arguments.length === 2 && arg1 instanceof Error && isString(arg2)) return self._logEvent(null, arg1, null, arg2)
// error, context
if (arguments.length === 2 && isError(arg1) && isObject(arg2)) return self._logEvent(null, arg1, arg2, null)
if (arguments.length === 2 && arg1 instanceof Error && isObject(arg2)) return self._logEvent(null, arg1, arg2, null)
// context, level
if (arguments.length === 2 && isObject(arg1) && isString(arg2)) return self._logEvent(null, null, arg1, arg2)
// message
if (arguments.length === 1 && isString(arg1)) return self._logEvent(arg1, null, null, null)
// error
if (arguments.length === 1 && isError(arg1)) return self._logEvent(null, arg1, null, null)
if (arguments.length === 1 && arg1 instanceof Error) return self._logEvent(null, arg1, null, null)
// context
if (arguments.length === 1 && isObject(arg1)) return self._logEvent(null, null, arg1, null)
// usage error
Expand Down
4 changes: 2 additions & 2 deletions lib/handlers/Env.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
var EventEmitter = require('events').EventEmitter
var util = require('util')
var merge = require('lodash.merge')
var _ = require('lodash')

function Env() {

var self = this

this.handle = function(event) {
self.emit('message', merge({}, { env: process.env }, event))
self.emit('message', _.merge({}, { env: process.env }, event))
}

EventEmitter.call(this);
Expand Down
4 changes: 2 additions & 2 deletions lib/handlers/KeyFilter.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ var util = require('util')
var R = require('ramda')
var isString = R.compose(R.equals('String'), R.type)
var isFunction = R.compose(R.equals('Function'), R.type)
var merge = require('lodash.merge')
var _ = require('lodash')

function KeyFilter(_options) {

var options = merge({}, { exclude: [], include: [] }, _options)
var options = _.merge({}, { exclude: [], include: [] }, _options)
var self = this

this.handle = function(event) {
Expand Down
7 changes: 3 additions & 4 deletions lib/handlers/Merge.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
var EventEmitter = require('events').EventEmitter
var util = require('util')
var merge = require('lodash.merge')
var set = require('lodash.set')
var _ = require('lodash')

function Merge(_other, _options) {

var options = _options || {}
var other = options.key ? set({}, options.key, _other) : _other
var other = options.key ? _.set({}, options.key, _other) : _other
var self = this

this.handle = function(event) {
self.emit('message', options.invert ? merge({}, event, other) : merge({}, other, event))
self.emit('message', options.invert ? _.merge({}, event, other) : _.merge({}, other, event))
}

EventEmitter.call(this);
Expand Down
4 changes: 2 additions & 2 deletions lib/handlers/Oversized.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
var EventEmitter = require('events').EventEmitter
var util = require('util')
var merge = require('lodash.merge')
var _ = require('lodash')
var stringify = require('../utils/stringify');

function Oversized(options) {
Expand All @@ -13,7 +13,7 @@ function Oversized(options) {
var violations = {}
if (result.text.length > options.size) violations.oversized = result.text.length
if (result.circular) violations.circular = true
self.emit('message', merge({}, { prepper: { violations: violations } }, event))
self.emit('message', _.merge({}, { prepper: { violations: violations } }, event))
}

EventEmitter.call(self);
Expand Down
4 changes: 2 additions & 2 deletions lib/handlers/Process.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
var EventEmitter = require('events').EventEmitter
var util = require('util')
var merge = require('lodash.merge')
var _ = require('lodash')

function Process() {

var self = this

this.handle = function(event) {
self.emit('message', merge({}, { process: { title: process.title, version: process.version, pid: process.pid, memory: process.memoryUsage() }}, event))
self.emit('message', _.merge({}, { process: { title: process.title, version: process.version, pid: process.pid, memory: process.memoryUsage() }}, event))
}

EventEmitter.call(this);
Expand Down
4 changes: 2 additions & 2 deletions lib/handlers/System.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
var EventEmitter = require('events').EventEmitter
var util = require('util')
var os = require('os')
var merge = require('lodash.merge')
var _ = require('lodash')

function System() {

var self = this

this.handle = function(event) {
self.emit('message', merge({}, { os: { hostname: os.hostname(), loadavg: os.loadavg(), mem: { total: os.totalmem(), free: os.freemem() }, type: os.type(), platform: os.platform(), release: os.release() }}, event))
self.emit('message', _.merge({}, { os: { hostname: os.hostname(), loadavg: os.loadavg(), mem: { total: os.totalmem(), free: os.freemem() }, type: os.type(), platform: os.platform(), release: os.release() }}, event))
}

EventEmitter.call(this);
Expand Down
4 changes: 2 additions & 2 deletions lib/handlers/Timestamp.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
var EventEmitter = require('events').EventEmitter
var util = require('util')
var merge = require('lodash.merge')
var _ = require('lodash')

function Timestamp() {

var self = this

this.handle = function(event) {
self.emit('message', merge({}, { timestamp: new Date() }, event))
self.emit('message', _.merge({}, { timestamp: new Date() }, event))
}

EventEmitter.call(this);
Expand Down
4 changes: 2 additions & 2 deletions lib/handlers/Tracer.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
var EventEmitter = require('events').EventEmitter
var util = require('util')
var merge = require('lodash.merge')
var _ = require('lodash')
var uuid = require('uuid').v4

function Tracer(_options) {
Expand All @@ -10,7 +10,7 @@ function Tracer(_options) {
var tracer = options.tracer || uuid()

this.handle = function(event) {
self.emit('message', merge({}, { tracer: tracer }, event))
self.emit('message', _.merge({}, { tracer: tracer }, event))
}

EventEmitter.call(this);
Expand Down
Loading