anylogger-loglevel v1.0.0
anylogger-loglevel 1.1.0-beta.0
Anylogger adapter for loglevel
.
What is this?
This is an anylogger adapter for loglevel.
This package is meant for application projects that are using libraries using
anylogger. By including this adapter in your project, all libraries using
anylogger will automatically start to use loglevel as their logging framework.
Download
- anylogger-loglevel.ts (fully commented source, ~2kB)
- anylogger-loglevel.js (transpiled esm module, ~1kB)
- anylogger-loglevel.cjs (transpiled commonjs module, ~1kB)
- anylogger-loglevel.min.js (minified 508 bytes, gzipped ~284 bytes)
CDN
index.html
<script src="https://unpkg.com/anylogger@1.1.0-beta.0/anylogger.min.js"></script>
<script src="https://unpkg.com/loglevel@1.9.1/dist/loglevel.min.js"></script>
<script src="https://unpkg.com/anylogger-loglevel@1.1.0-beta.0/anylogger-loglevel.min.js"></script>
<script>(function(){ // IIFE
var log = anylogger('index.html')
log.info('Logging is simple!')
// to see logging, enable it by typing this in the console:
// localStorage.setItem('loglevel:index.html', 'DEBUG')
// then refresh the page
})()</script>When used in the browser with global names (like when used from CDN as in the example above),
loglevelpublishes itself towindow.log, notwindow.loglevelas one might expect.
Install
Install this adapter, as well as both anylogger and loglevel:
npm install --save anylogger-loglevel anylogger loglevelInclude in your application project
This package is meant for application projects. If you are writing a library to be NPM installed into some other project, most likely you should not include any adapter, but instead just use anylogger directly.
The anylogger-loglevel adapter will modify the anylogger factory in such a way that the loggers it creates will be logging to loglevel.
When using
loglevel, all logging except for warnings and errors is supressed by default. As such, you should make sure to set the log level to INFO or DEBUG as usual before expecting to see any output.
To activate the adapter, include it in your application entry point.
Require
main.js
require('anylogger-loglevel')Import
main.js
import 'anylogger-loglevel'Logging in the application project
In your application module code, only use anylogger to stay framework independent:
my-module.js
import anylogger from 'anylogger'
const log = anylogger('my-module')
log('Logging is simple!')This is helpful if you ever decide to factor out the application module into a separate library.
log configuration in the application project
Because anylogger is simply using loglevel below the surface, you can use
all the normal configuration mechanisms available for loglevel.
If you need to control log settings programmatically, just import loglevel and
use it directly:
main.js
// ...
import loglevel from 'loglevel'
loglevel.getLogger('my-module').setLevel(loglevel.levels.INFO)
// ...Issues
Add an issue in this project's issue tracker to let me know of any problems you find, or questions you may have.
Copyright
© 2020 by Stijn de Witt. Some rights reserved.
License
Licensed under the MIT Open Source license.
gzip-size
The GZIP algorithm is available in different flavours and with different possible compression settings. The sizes quoted in this README have been measured using gzip-size by Sindre Sorhus, your mileage may vary.