1.0.0 • Published 11 days ago

@diahkomalasarinpm/beatae-a-fuga v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
11 days ago

@diahkomalasarinpm/beatae-a-fuga

Tests npm version npm downloads

Logging utility for Baseland projects

  • log - winston logger
  • requestLogger express middleware

Installation

npm install --save @diahkomalasarinpm/beatae-a-fuga

log Usage

import { log } from '@diahkomalasarinpm/beatae-a-fuga';
const options = {
  level: 'debug', // default: `info`
};
const logger = log(__filename, options); // /index.ts

logger.debug('Just a simple message');
// 2022-09-03 21:44:34 [/index.ts] [DEBUG] [UNKNOWN] [UNKNOWN] - Just a simple message

logger.info({
  label: 'custom-label',
  requestId: 'xxxx',
  message: 'My information message'
});
// 2022-09-03 21:42:03 [/index.ts] [INFO] [custom-label] [xxxx] - My message

const object = {
    food: 'pizza',
    list: [1, 'juice', 3],
    bag: {
        apples: 1,
        book: 'Lord of the Flies'
    }
}
logger.warn({
  label: 'object-stringify',
  requestId: 'xxxx',
  message: object
});
// 2022-09-03 21:53:16 [/index.ts] [WARN] [object-stringify] [xxxx] - {"food":"pizza","list":[1,"juice",3],"bag":{"apples":1,"book":"Lord of the Flies"}}

const error = new Error('This is an error');
logger.error({
  label: 'error-stack',
  requestId: 'xxxx',
  message: error
});
// 2022-09-03 21:43:10 [/index.ts] [ERROR] [error-stack] [xxxx] - Error: This is an error
//    at Object.<anonymous> (/app/index.ts:11:17)
//    at Module._compile (node:internal/modules/cjs/loader:1105:14)
//    at ...

requestLogger Usage

Logs a

import Express from 'express';
const app = Express();
app.use(requestLogger(logger, { logIpAddress: true }));

// [2024-01-31 08:05:24] [/src/server/index.ts] [info] [request-logger] [1100d7] [192.168.1.1] [/good-url] [GET] [200] - 3ms
// [2024-01-31 08:05:34] [/src/server/index.ts] [info] [request-logger] [692f11] [192.168.1.1] [/bad-url] [GET] [404] - 2ms

Options

PropertyTypeDefault ValueDescription
logIpAddressbooleanfalseWhether or not the remote client ip address should be printed in the log statement
logClientCallerbooleanfalseWhether the x-client-caller header value should be printed in the log statement

Todo

  • Better tests
metadatafilejoieventDispatchercolumnastmkdirpfilterconsoleapimatchirqopenRFC-6455jestlruconstreactless cssjson-schema-validationaccessormakermdirwgetgesturescollection.es6lastObject.defineProperty0CSSterminalsuperagentTypeScriptObject.assignES2020HyBisetconsumeargumentsasyncauthfull-widthchaimatchAllthroattypescriptprunetc39handlerspolyfillsyntaxwatchFilemkdirArraydeterministicworkspace:*WeakMapUint16ArrayJSONtaskgetPrototypeOfcryptoString.prototype.matchAllcompareinvariantparentsshamlazydragReflect.getPrototypeOfdataviewansijapaneseFloat64Arrayfastshebangequalityargparseclonei18nlengthcolorscorsregular expressionresolveArray.prototype.includeseditordefaultdateuninstallpluginmobilekoreanstyleguidestringifierphonegroupByloggerbcryptarraybufferarktypeObject.fromEntriesecmascriptlockfileperformanceES2016oncewordbreakxtermdeepcopyconcatMapcssuuidcoretelephonenamepackagesjson-schemareact-testing-libraryStreamstreamscommanderInt16ArrayES2021execES2019private dataUint32Arraywalkviewspeedjsxes6windowses-abstractchromezerovestsharedmkdirsmime-dbRxJSjsonpathdependency managerjasminedotenvratelimittoobjectcode pointssymlink6to5propertiesformgetintrinsictranspilerimportString.prototype.trimchromiumdom-testing-librarymodulequeueMicrotaskrangeerrorESsharedarraybufferTypeBoxoutputslicedropnested csstsECMAScript 2022circularobjrm -rfcmdextendhooksyamlharmonyObservablesarraysargumentvariableses2015fromurlenvironmentmulti-packagecolorinternalmrubindpromisestoSortedtimeuser-streamscryptidleformssortedthrottleclass-validatorbuffersfindLastjwtstyled-componentssetImmediateloggingutilityfunctiona11yprocessflagsArray.prototype.containsartvalidatorbootstrap lessgroupYAMLwebprototypelesscssstablesomefetchtaputilqueryquotees-shim APIlinkcontainsECMAScript 2018signalECMAScript 2020helpersobjectregexECMAScript 2019authenticationtesterdeep-copyindicatorcallbackscheme-validationgraphqlcollectiontouchpromiseflattenforEachdataViewvarairbnbreuseless mixinsbrowserslistchannelsameValueZerospinnerssanitizepostcssformattingtddsyntaxerrorkeyclassesruntimecjkminimales-shimsmacostakedatastructuretacitcompilerfullwidthtestingenumerablecall-boundreadableassertcheckcolourStyleSheettestfile systemcss lesscommand-lineES3mimetypeofwebsiteqsfsredux-toolkitES2022functionalObjectglobexecutablepropertyremoveenderprogresshookformInt8ArraylimittrimEndparentclassnamescomputed-typesgetterencryptiontslibextraopenerposepropsequencepasswordboundinstallerObject.entriesES2023es2017ECMAScript 2017WebSocketmomentreadablestreamgdprstructuredCloneUint8ClampedArrayfunctionsschemaES5typaniontraversefixed-widthvalueSymbolCSSStyleDeclarationsigtermiepipeajvyuphardlinkscompile lessfast-deep-clonewidthautoprefixerlistenerscallboundio-tsutil.inspectmixinsbabelbatchpackage managerjsonschemargbObservableparseSymbol.toStringTaglanguageexpressObject.valuesbddtostringtagunicodefind-uppatchmergestylesheetspawnbyteOffsetcss-in-jspopmotionrequiredirinspectgradients css3dependenciestextequalclibusysearchassertsinputnumberprotobufregularreact-hook-formsymbolargvpackage.jsonwrapless compilercss nestingsetPrototypeOfECMAScript 2021efficienttranspilelimitedbabel-coresymbolsrecursivewalkingiteratelogfast-clonekeysjsfast-deep-copycoerciblePromiseimmerbluebirdlibphonenumberdombufferdescriptionsortcommanderror-handlingesrequestschemechildserializeECMAScript 2015slotdebuggerintrinsicfastclonestartpackagefiglettypesvalidateavagradients cssPushspringcharactershasOwnbyteLengtheventEmittercurriedxdgserialization$.extendStreamsstringifydeepclonexssstreams2valuesprivatefindupshrinkwrapweakmapwatchingnodejsInt32ArraylookpushflatMaplook-upconcat256ArrayBuffer#slicecensorinternal slotECMAScript 7mochaframerxhrasciitoArraydescriptorscopypnpm9core-jschinesesymlinkssanitizationES2017getoptregular expressionsReactiveExtensionsBigInt64ArraysignalsrapidECMAScript 2016appdescriptordeep-clonewordwrapsettingsless.js.envfantasy-landRxclassnamebannerAsyncIteratorinstallRegExp#flagsserializerArray.prototype.flattenArray.prototype.filterhashjson-schema-validatoraccessibilitytoolkitpyyamltypesafejQuerystringincludes@@toStringTagmiddlewareeslintconfigcolumnskarmaisConcatSpreadableMappatheventsassignworkertrimfullhastypedWeakSetECMAScript 3superstructcall-bindtoolsfast-copyES2015stylesgenericsmonorepobundlingwhichObject.getPrototypeOfrobustform-validationmimetypes_.extendsideawesomesaucenativeregexppicomatchES8point-freearraydefinePropertyreact-hooksparserjsdomextensiondayjsrateframeworkfindLastIndexflagsafelinuxSetvalidObject.iscachemap__proto__errorvalidationoffsetES2018Array.prototype.findLastIndexconfigurabletrimRightprettyiterationpersistentMicrosoftreadvisualECMAScript 2023reduceupexit-codedeleteanimationescapetyped arraycodespreserve-symlinkstapeprefixcharacterWebSocketses8configeslintredacttrimStartrm -frtermxdg-opentoStringTagutils[[Prototype]]emojiUint8ArrayomitURLArray.prototype.flatargsreact poseiteratorfseventsfpRegExp.prototype.flagsjavascriptmake dirstatuselectronwhatwgsigintwatchbyteassertionconnectinterruptsdataESnextenveveryqueuefastcopyexerandomclientUnderscorewriteredux
@crabas0npm/nihil-alias-sint@crabas0npm/voluptas-ad-vel@diahkomalasarinpm/a-quam-voluptas-qui@diahkomalasarinpm/ad-molestias-fugit-sunt@diahkomalasarinpm/animi-facere-velit-dolorum@diahkomalasarinpm/asperiores-accusantium-minus-quod@diahkomalasarinpm/blanditiis-ullam-a-fugiat@diahkomalasarinpm/consectetur-ad-repudiandae-delectus@diahkomalasarinpm/corporis-a-quam-distinctio@diahkomalasarinpm/corrupti-autem-optio-iure@diahkomalasarinpm/cumque-nesciunt-non-eos@diahkomalasarinpm/debitis-explicabo-sunt-enim@diahkomalasarinpm/debitis-quas-fuga-occaecati@diahkomalasarinpm/deserunt-cupiditate-quos-beatae@diahkomalasarinpm/dolorem-tempore-vitae-animi@diahkomalasarinpm/eveniet-velit-praesentium-dolorem@diahkomalasarinpm/harum-esse-officiis-magnam@diahkomalasarinpm/harum-nihil-exercitationem-delectus@diahkomalasarinpm/illum-molestias-accusantium-rem@diahkomalasarinpm/incidunt-repudiandae-expedita-eos@diahkomalasarinpm/iure-asperiores-perspiciatis-mollitia@diahkomalasarinpm/magnam-incidunt-error-sapiente@diahkomalasarinpm/nesciunt-expedita-rerum-cumque@diahkomalasarinpm/occaecati-incidunt-dolor-accusantium@diahkomalasarinpm/omnis-veritatis-asperiores-recusandae@diahkomalasarinpm/praesentium-accusamus-maiores-autem@diahkomalasarinpm/provident-eaque-consectetur-harum@diahkomalasarinpm/sapiente-quibusdam-repudiandae-eligendi@diahkomalasarinpm/tempora-iusto-voluptates-vero@diahkomalasarinpm/vero-reiciendis-asperiores-magnam@diahkomalasarinpm/voluptate-asperiores-voluptatum-accusantium@diahkomalasarinpm/voluptatem-illum-aperiam-dolores@ffras4vnpm/commodi-vero-assumenda
1.0.0

11 days ago