Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
// (c) Copyright 2023 Supertenant Ltd. - all rights reserved.
// See LICENSE file in project root for license terms.
"use strict";const inspect=require("util")["inspect"],shimmer=require("shimmer"),requireHook=require("../../../util/requireHook"),constants=require("../../constants"),cls=require("../../cls");let isActive=!1;function instrumentPinoTools(toolsModule){shimmer.wrap(toolsModule,"genLog",shimGenLog)}function shimGenLog(originalGenLog){return function(level){if(!level||level<40)return originalGenLog.apply(this,arguments);{const originalLoggingFunction=originalGenLog.apply(this,arguments);return function(mergingObject,message){if(cls.skipExitTracing({isActive:isActive,log:!1}))return originalLoggingFunction.apply(this,arguments);const originalArgs=new Array(arguments.length);for(let i=0;i<arguments.length;i++)originalArgs[i]=arguments[i];const ctx=this;return cls.ns.runAndReturn(()=>{var span=cls.startSpan("log.pino",constants.EXIT);"string"==typeof mergingObject?message=mergingObject:mergingObject&&"string"==typeof mergingObject.message&&"string"==typeof message?message=mergingObject.message+" -- "+message:mergingObject&&"string"==typeof mergingObject.message?message=mergingObject.message:"string"!=typeof message&&(message=null!=mergingObject?inspect(mergingObject,{depth:1}).substring(0,500):"Pino log call without message and mergingObject."),span.data.log={message:message},50<=level&&(span.ec=1);try{return originalLoggingFunction.apply(ctx,originalArgs)}finally{span.d=Date.now()-span.ts,span.transmit()}})}}}}exports.init=function(){requireHook.onFileLoad(/\/pino\/lib\/tools\.js/,instrumentPinoTools)},exports.activate=function(){isActive=!0},exports.deactivate=function(){isActive=!1};