New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

huggare

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

huggare - npm Package Compare versions

Comparing version 0.2.1 to 0.3.1

.npmignore

121

index.js

@@ -32,67 +32,76 @@ 'use strict';

function createLog() {
var Log = {
transports: [],
filters: [],
function Log() {
if (!(this instanceof Log)) {
return new Log;
}
setLevel: function(prio) {
this.level = prio;
},
this.transports = [];
this.filters = [];
addTransport: function(fmt) {
this.transports.push(fmt);
},
this.v = this.println.bind(this, Log.VERBOSE);
this.d = this.println.bind(this, Log.DEBUG);
this.i = this.println.bind(this, Log.INFO);
this.w = this.println.bind(this, Log.WARN);
this.e = this.println.bind(this, Log.ERROR);
this.wtf = this.println.bind(this, Log.ASSERT);
addFilter: function(tag) {
this.filters.push(tag);
},
this.level = Log.INFO;
}
println: function(priority, tag /*, varargs */) {
if (priority < this.level || this.filters.indexOf(tag) > -1) {
return;
}
Object.defineProperties(Log, {
'VERBOSE': { value: 2 },
'DEBUG': { value: 3 },
'INFO': { value: 4 },
'WARN': { value: 5 },
'ERROR': { value: 6 },
'ASSERT': { value: 7 },
var args = Array.prototype.constructor.apply(null, arguments).slice(2);
args = parseArgs(args);
'SHORT_NAMES': {
value: [undefined, undefined, 'V', 'D', 'I', 'W', 'E', 'A']
}
});
var ts = new Date;
var len = Log.transports.length;
for (var i = 0; i < len; ++i) {
this.transports[i].call(this, ts, priority, tag, args);
}
Log.prototype = {
setLevel: function(severity) {
this.level = severity;
},
addTransport: function(fmt) {
this.transports.push(fmt);
},
addFilter: function(tag) {
this.filters.push(tag);
},
println: function(severity, tag /*, varargs */) {
if (severity < this.level || this.filters.indexOf(tag) > -1) {
return;
}
};
Object.defineProperties(Log, {
'VERBOSE': { value: 2 },
'DEBUG': { value: 3 },
'INFO': { value: 4 },
'WARN': { value: 5 },
'ERROR': { value: 6 },
'ASSERT': { value: 7 },
var args = [].slice.call(arguments, 2);
args = parseArgs(args);
'SHORT_NAMES': {
value: [undefined, undefined, 'V', 'D', 'I', 'W', 'E', 'A']
var ts = new Date;
var len = this.transports.length;
for (var i = 0; i < len; ++i) {
this.transports[i].call(this, ts, severity, tag, args);
}
});
},
Log.v = Log.println.bind(Log, Log.VERBOSE);
Log.d = Log.println.bind(Log, Log.DEBUG);
Log.i = Log.println.bind(Log, Log.INFO);
Log.w = Log.println.bind(Log, Log.WARN);
Log.e = Log.println.bind(Log, Log.ERROR);
Log.wtf = Log.println.bind(Log, Log.ASSERT);
defaults: function() {
this.transports = [];
this.filters = [];
Log.setLevel(Log.INFO);
this.addTransport(ConsoleTransport);
return Log;
}
return this;
}
};
var Log = createLog();
var ConsoleTransport = function(ts, prio, tag, args) {
function ConsoleTransport(ts, severity, tag, args) {
/*eslint-disable no-console */
var m;
switch (prio) {
switch (severity) {
case Log.VERBOSE:

@@ -109,8 +118,8 @@ case Log.DEBUG:

default:
Log.wtf('ConsoleTransport', 'invalid priority specified: ', prio, ', logging as error.');
Log.e(tag, args);
this.wtf('ConsoleTransport', 'invalid severity specified: ', severity, ', logging as error.');
this.e(tag, args);
return;
}
console[m](ts.toISOString() + ' [' + this.SHORT_NAMES[prio] + '] ' + tag + ': ' + (args.message || ''));
console[m](ts.toISOString() + ' [' + Log.SHORT_NAMES[severity] + '] ' + tag + ': ' + (args.message || ''));

@@ -120,6 +129,10 @@ if (args.err) {

}
};
}
Log.addTransport(ConsoleTransport);
var instance = new Log;
module.exports = Log;
// Oh.
instance.Log = Log;
instance.ConsoleTransport = ConsoleTransport;
module.exports = instance;
{
"name": "huggare",
"version": "0.2.1",
"version": "0.3.1",
"description": "Android-style logging for an ECMAScript world.",

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

# Huggare
**Huggare** is a Swedish word for woodcutter. Whatever.
**Huggare** is a Swedish word for woodcutter. Let's log.

@@ -8,3 +8,3 @@ # Usage

```javascript
var Log = require('huggare');
var Log = require('huggare').defaults();

@@ -18,3 +18,14 @@ var TAG = "MyCrapModule";

function whatever() {
Log.i(TAG, "I am interacting in a whateverish way.");
Log.v(TAG, "I am interacting in a whateverish way.");
Log.i(TAG, {
message: "This is a message",
someData: { a: "data item that might be used by another transport" }
});
try {
notAMethod();
} catch (err) {
Log.e(TAG, "There was a sickening error", err);
return;
}
}

@@ -25,8 +36,32 @@ ```

`2015-08-02T05:14:23.924Z [I] MyCrapModule: I am interacting in a whateverish way.`
```
2015-08-02T05:14:23.924Z [V] MyCrapModule: I am interacting in a whateverish way.
2015-08-02T05:14:24.001Z [I] MyCrapModule: This is a message.
2015-08-02T05:14:24:025Z [E] MyCrapModule: There was a sickening error
ReferenceError: notAMethod is not defined
at repl:1:1
at REPLServer.defaultEval (repl.js:164:27)
at bound (domain.js:250:14)
at REPLServer.runBound [as eval] (domain.js:263:12)
at REPLServer.<anonymous> (repl.js:392:12)
at emitOne (events.js:82:20)
at REPLServer.emit (events.js:169:7)
at REPLServer.Interface._onLine (readline.js:210:10)
at REPLServer.Interface._line (readline.js:546:8)
at REPLServer.Interface._ttyWrite (readline.js:823:14)
```
Good. If you want more formatters, look at the sauce.
## API
Just look at the code for now.
## Changelog
0.3.1: Publishing fail.
0.3.0: No transports by default now. Use `Log#defaults` as provided in example for old behaviour.
0.2.0: Changed how the logger handles objects, allowing metadata
0.1.0: First release
# License
ISC because whatever.
ISC - see LICENSE file.
SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc