0.0.3 • Published 9 years ago
logs-loader v0.0.3
logs-loader
Logs Loader
Embed meaningful logs into your webpack bundle.
Requirements
- Node 7.5.0 or newer (not tested on earlier versions)
- Typescript 2.1.5 or newer (not tested on earlier versions)
- Babel 6.2.2 or newer (not tested on earlier versions)
Installation
npm i logs-loader --save-devor
yarn add logs-loader --devUsage
A webpack loader that enhances your logs by adding the file and the object logging.
Note: put it before any linter in your webpack config "module->rules->use" list to prevent max-line-length warnings.
src/index.js
const test = ['test'];
console.info(test.length);webpack.config.js
const path = require("path");
module.exports = {
entry: {
app: path.resolve(__dirname, "src", "index.js")
},
output: {
path: path.resolve(__dirname, "build"),
filename: "app.js"
},
module: {
rules: [
{
test: /\.tsx?$/,
include: [
path.resolve(__dirname, 'src'),
],
use: [
{
loader: 'babel-loader',
query: {
babelrc: false,
extends: path.resolve(__dirname, '.babelrc'),
plugins: [
...(
!production ? [
"react-hot-loader/babel",
] : []
),
...(
production ? [
"transform-remove-console",
// ["transform-replace-object-assign", "simple.assign"],
] : []
),
],
},
},
{loader: 'ts-loader', options: {transpileOnly: false}},
{
loader: 'logs-loader',
query: {
patterns: ["console"],
},
},
{loader: 'tslint-loader'},
],
},
{
test: /\.jsx?$/,
include: [
path.resolve(__dirname, 'src'),
],
use: [
{loader: 'babel-loader'},
{
loader: 'logs-loader',
query: {
patterns: ["console"],
},
},
],
},
],
},
};build/app.js
const test = ['test'];
console.log("/src/index.js:2:test.length", test.length);By default it modifies all console commands: console.error, console.log... But it can be customized. To modify all winstons logs the "patterns" would be:
webpack.config.js
query: {
patterns: ["winston"],
},src/index.js
const test = ['test'];
winston(test.length);
winston.info(test.length);build/app.js
const test = ['test'];
winston("/src/index.js:2:test.length", test.length);
winston.info("/src/index.js:3:test.length", test.length);Or
webpack.config.js
query: {
patterns: ["winston"],
customLevels: ["debug1", "debug2"],
},src/index.js
const test = ['test'];
winston.debug1(test.length);
winston.debug2(test.length);build/app.js
const test = ['test'];
winston.debug1("/src/index.js:2:test.length", test.length);
winston.debug2("/src/index.js:3:test.length", test.length);Properties
| Props | Options | Default | Description |
|---|---|---|---|
| patterns | string or Arraystring | "console" | Sets pattern of logger call. |
| customLevels | string or Arraystring | [] | Sets additional custom logging levels. |
Contribute
- Submit an issue
- Fork the repository
- Create a dedicated branch (never ever work in
master) - The first time, run command:
yarninto the directory - Fix bugs or implement features
Future
- Add tests
- Add examples directory
License
This project is licensed under the terms of the MIT license