Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
@jsenv/logger
Advanced tools
Control verbosity of logs during a function execution.
You want to use @jsenv/logger
when you have many logs with different purposes and controls which type of logs are actually written.
jsenv-logger
github repository corresponds to @jsenv/logger
package published on github and npm package registries.
This documentation explains how to use @jsenv/logger
in your codebase.
createLogger
is a function receiving alogLevel
and returning alogger
object.
Implemented in src/createLogger.js, you can use it as shown below.
import { createLogger } from "@jsenv/logger"
const functionWithLogs = ({ logLevel }) => {
const logger = createLogger({ logLevel })
logger.debug("start doing whetevr")
logger.info("some useful info")
logger.debug("doing whatever is done")
logger.warn("be careful about blah-blah")
logger.error("oops an error occured while doing whatever")
}
functionWithLogs({ logLevel: "debug" })
functionWithLogs({ logLevel: "info" })
functionWithLogs({ logLevel: "warn" })
functionWithLogs({ logLevel: "error" })
functionWithLogs({ logLevel: "off" })
logLevel
parameter is a string controlling verbosity of the returnedlogger
.
The possible logLevel values are:
"off"
"debug"
"info"
"warn"
"error"
If you are rigorous, each logLevel value is exported as a constant that you can use like this:
import { createLogger, LOG_LEVEL_INFO } from "@jsenv/logger"
createLogger({ logLevel: LOG_LEVEL_INFO })
logger
is an object with methods logging a message with a given level.
It is returned by createLogger
, and has the following shape: { debug, info, warn, error }
. Each method calls the corresponding console method or do nothing depending on the logLevel
.
import { createLogger } from "@jsenv/logger"
const logger = createLogger({ logLevel: "info" })
logger.debug("hello")
Logs nothing
import { createLogger } from "@jsenv/logger"
const logger = createLogger({ logLevel: "info" })
logger.info("hello")
Logs Hello
Using @jsenv/logger
means converting console methods into logger methods. console.info
becomes logger.info
and so on.
But keep in mind there is no logger.log
. This is because a log level named "log" would not fit into the log level hierachy below.
error > warn > info > debug
It means you have to convert console.log
into logger.debug
or logger.info
.
Before installing, please note that you cannot directly require
this package because there is no commonjs version for the source code.
If you never installed a jsenv package, read Installing a jsenv package before going further.
This documentation is up-to-date with a specific version so prefer any of the following commands
npm install @jsenv/logger@3.2.0
yarn add @jsenv/logger@3.2.0
FAQs
Control verbosity of logs during a function execution.
The npm package @jsenv/logger receives a total of 145 weekly downloads. As such, @jsenv/logger popularity was classified as not popular.
We found that @jsenv/logger demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.