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

logel

Package Overview
Dependencies
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

logel - npm Package Compare versions

Comparing version 0.5.0 to 0.6.0

lib/default-renderers.js

18

index.d.ts

@@ -0,1 +1,4 @@

// import { LOGEL_RENDER } from ".";
// import { renderRootObject } from ".";
export interface Log{

@@ -15,8 +18,12 @@ readonly logel:Logel;

type Renderer = (data: any) => any;
interface Context {
seen: Set<unknown>;
sym: Symbol;
}
export class Logel{
type Renderer = (data: unknown, ctx: Context) => unknown;
export class Logel {
static make(): Logel;
setRenderers(rends: {[key: string]: Renderer }): Logel;
setDefaultRenderers(): Logel;

@@ -28,1 +35,6 @@

}
export const setLogelRender: <T>(v: unknown, sym: Symbol, fn: (v:T, ctx: Context) => unknown) => unknown;
export const renderRootObject: (v: unknown, sym: Symbol) => unknown;
export const LOGEL_RENDER: Symbol;
export const LOGEL_FINAL: Symbol;

@@ -0,4 +1,20 @@

const {
Logel,
} = require('./lib/logel');
const {
// renderValue,
renderRootObject,
LOGEL_RENDER,
LOGEL_FINAL,
setLogelRender,
} = require('./lib/render');
module.exports = {
Logel: require('./lib/logel'),
Logel,
// renderValue,
renderRootObject,
LOGEL_RENDER,
LOGEL_FINAL,
setLogelRender,
Log: require('./lib/log'),
};

50

lib/logel.js
const Log = require('./log');
const Url = require('url')
const QueryString = require('querystring')
const Url = require('node:url')
const QueryString = require('node:querystring')
const LEVELS = require('./levels');
const {
setLogelRender,
renderValue,
renderRootObject,
LOGEL_RENDER,
LOGEL_FINAL,
} = require('./render');

@@ -19,5 +26,9 @@ const DEFAULT = {

class Logel{
constructor(){
constructor(renderSymbol){
this.renderSymbol = renderSymbol ?? LOGEL_RENDER;
}
// setDefaultRenderers() {
// }
configure(cfg){

@@ -63,26 +74,17 @@ this.cfg = cfg;

setRenderers(obj){
for(let k of Object.keys(obj)) this.renderers[k] = obj[k];
setDefaultRenderers(){
for(let [Class, fn] of require('./default-renderers').renderers.entries()) {
setLogelRender(Class, this.renderSymbol, fn);
}
return this;
}
setDefaultRenderers(){
return this.setRenderers(require('./std-renderers').renderers);
}
write(log, level, message, ctx){
if(LEVELS[level] < this.minLevelNum) return;
let time = Date.now();
let outputs = this.outputs;
if(ctx != null){
let keys = Object.keys(ctx);
for(let k of keys){
let rend = this.renderers[k];
if(rend !== undefined) ctx[k] = rend(ctx[k]);
}
}
let renderedCtx = renderRootObject(ctx, this.renderSymbol);
for(let output of outputs){
output.write(time, LEVELS[level], log.tag, message, ctx);
for(let output of this.outputs){
output.write(time, LEVELS[level], log.tag, message, renderedCtx);
}

@@ -117,7 +119,11 @@ }

static make(){
return new Logel().configure(Logel.readCfg(process.env));
static make(sym = LOGEL_RENDER){
return new Logel(sym).configure(Logel.readCfg(process.env));
}
}
module.exports = Logel
Logel.setRender = setLogelRender;
module.exports = {
Logel,
}
{
"name": "logel",
"version": "0.5.0",
"version": "0.6.0",
"description": "Externally controlled logging subsystem",

@@ -21,3 +21,3 @@ "bin": {

"devDependencies": {
"ava": "^3.5.0",
"ava": "^5.2.0",
"c8": "^7.7.3"

@@ -24,0 +24,0 @@ },

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