
Product
Reachability for Ruby Now in Beta
Reachability analysis for Ruby is now in beta, helping teams identify which vulnerabilities are truly exploitable in their applications.
@ayana/logger
Advanced tools
Useful and great looking logging made easy
This is a logging library inspired by the easy use of slf4j
Besides coloring your output, this logger makes it easy to log where you are logging from. This is done by some v8 StackTrace API magic. By that we can find out the module name and the path of your file in the module. This also works for modules in the node_modules folder. In addition the config is global, which makes it easy to control which modules and even single classes are allowed to log at which levels.
With NPM
npm i @ayana/logger
With Yarn
yarn add @ayana/logger
IMPORTANT: All projects that use this module SHOULD HAVE the code that is executed in one of the following folders (checked in the order listed): build, src, lib. If this is ignored the output might get messed up or the entire logger might stop working entirely. However you can add checked folders through the config with an array of strings. Note that this may impact on other modules using this logger.
Logger.setConfig({
// The base logger level. This will be used if there's nothing specific defined in loggers. (Optional, Default: 'INFO')
level: 'INFO',
// Specifications for individual modules, packages and loggers. (Optional)
loggers: [{
name: 'helloworld:hello.Hello',
level: 'DEBUG',
// Whether the name should match exactly or if just the logger name starting with that name is enough (Optional, Default: false)
exact: false,
}],
// Code directories to check besides 'build', 'src' and 'lib' (Optional)
codeDirs: [
'test',
],
});
Let's say your module is called helloworld and your JavaScript file is located in the folder src/hello. The filename doesn't matter.
const Logger = require('@ayana/logger');
const log = Logger.get('Hello');
class Hello {
constructor() {
log.info('Hello World!');
// Example output: 2018-07-16 18:00:00:000 INFO [helloworld:hello.Hello]: Hello World!
}
}
// You can also create a logger using a reference to the class. This will then simply use the name of the class passed.
const logOfClass = Logger.get(Hello);
Refer to the LICENSE file.
FAQs
Useful and great looking logging made easy
We found that @ayana/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.

Product
Reachability analysis for Ruby is now in beta, helping teams identify which vulnerabilities are truly exploitable in their applications.

Research
/Security News
Malicious npm packages use Adspect cloaking and fake CAPTCHAs to fingerprint visitors and redirect victims to crypto-themed scam sites.

Security News
Recent coverage mislabels the latest TEA protocol spam as a worm. Here’s what’s actually happening.