Socket
Socket
Sign inDemoInstall

saalogg

Package Overview
Dependencies
7
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.2.1 to 0.3.1

31

index.js
Object.assign(module.exports, {
addLogger,
})
// Avoid it to be loaded more than once
if (typeof loaded === 'undefined') {
if (console.__saalogg_loaded === undefined) {
const chalk = require('chalk')

@@ -31,4 +36,26 @@ const util = require('util')

loaded = true
console.__saalogg_loaded = true
console.__loggers = []
}
function addLogger ({ loggerId, logLevels, fn }) {
// Avoid adding the same logger twice
if (loggerId && console.__loggers.includes(loggerId)) {
console.warn("Attempt to add same logger twice\n", new Error().stack)
return
}
console.__loggers.push(loggerId)
logLevels.forEach((level) => {
if (!console[level]) throw new Error(`No valid log level ${level}`)
const tmp = console[level]
console[level] = (...msg) => {
tmp.apply(this, msg)
fn.apply(this, msg)
}
})
}

2

package.json
{
"name": "saalogg",
"version": "0.2.1",
"version": "0.3.1",
"description": "Just a simple logging tool",

@@ -5,0 +5,0 @@ "main": "index.js",

const expect = require('chai').expect
const saalogg = require('../index')
describe('Saalog', () => {
it('loads', () => {
require('../index')
})
describe('On dev environment', () => {

@@ -90,3 +87,46 @@

describe('addLogger()', () => {
before(() => {
function extraLog (msg) {
console.log('[EXTRA]', msg)
}
saalogg.addLogger({
loggerId: 'test',
logLevels: ['warn', 'error'],
fn: extraLog,
})
})
it('logs strings', () => {
console.log('This', 'is', 'a', 'log')
})
it('logs objects', () => {
console.log({a:1, b: 2, c: {c: 3}})
})
it('logs variables', () => {
let myStr = 'This is dog'
console.log(myStr)
})
it('injects values', () => {
console.log('This is %s #%f', 'dog', 2)
})
it('warns', () => {
console.warn('This is a warning')
})
it('logs errors', () => {
console.error('This is an error')
})
})
})
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc