npm install snx-loggersnx-logger
=========
基于winston的能灵活定义layout的logger框架。
[![NPM Version][npm-image]][npm-url]
[![NPM Downloads][downloads-image]][downloads-url]
[![Linux Build][travis-image]][travis-url]
[![Windows Build][appveyor-image]][appveyor-url]
[![Test Coverage][coveralls-image]][coveralls-url]
######1.默认使用
``js`
var logger = require("snx-logger").logger;
var log = logger.createLogger();
log.debug("test");
// [2014-11-27T08:36:36.886Z][default][debug][test]`
默认设定js`
"default": {
CustomConsole: {
level: "debug",
output: "string",
layout: "timestamp:category:level:message"
}
}`
######2.指定categoryjs`
var logger = require("snx-logger").logger;
var log = logger.createLogger(“sample”);
log.debug("test");
// [2014-11-27T08:36:36.886Z][sample][debug][test]`
默认设定js`
"default": {
CustomConsole: {
level: "debug",
output: "string",
layout: "timestamp:category:level:message"
}
}`
######3.自定义布局js`
var config = {
"application": {
"CustomConsole": {
"level": "debug"
, "output": "string"
, "layout": "category:level:time:hostname:file:function:line:message"
},
"CustomFile": {
"level": "debug"
, "output": "json"
, "filename": "logs/application.log"
, "layout": "category:level:time:hostname:file:function:line:message"
, "maxsize": 20480
}
}
};
var logger = require("snx-logger").logger;
var log = logger.createLogger("application", config);
log.debug("test");
// [application][debug][time][xxx][xxxx][xxx][xx][test]
######4.使用配置文件,定义全局布局
`js`
var logger = require("snx-logger").logger;
logger.configure("/path/../configLog.js");
var log = logger.createLogger("application");
log.debug("test");
//
######5.使用express的场合
`js
var logger = require("snx-logger").logger;
var express = require('express')
var app = express()
var configSample = {
"accessSample": {
"CustomConsole": {
"level": "debug"
, "output": "string"
, "layout": "category:level:timestamp:requestURL:requestIP:responseCode:responseTime"
},
"CustomFile": {
"level": "debug"
, "output": "json"
, "filename": "logs/accessSample.log"
, "layout": "category:level:timestamp:requestURL:requestIP:responseCode:responseTime"
, "maxsize": 20480
}
}
};
app.use(logger.use("accessSample", configSample));
// [accessSample][info][2014-11-27T08:25:04.760Z][GET /][127.0.0.1][200][0.464ms]
``
> off/debug/info/warn/error (default "info")
* output 输出格式
> string/json (default "string')
* layout 定义布局
> category:level:timestamp:... (default "timestamp:category:level:message')
> off/debug/info/warn/error (default "info")
* output
> string/json (default "string')
* layout
> category:level:timestamp:... (default "timestamp:category:level:message')
* filename 文件输出路径
> "../../log.log"
* maxsize 每个文件的大小,超过限制后会重新生成文件
> 1024 1024 10 //10MB
* maxFiles 文件的最大数,超过限制后会删除旧文件
[npm-image]: https://img.shields.io/npm/v/snx-logger.svg?style=flat
[npm-url]: https://npmjs.org/package/snx-logger
[downloads-image]: https://img.shields.io/npm/dm/snx-logger.svg?style=flat
[downloads-url]: https://npmjs.org/package/snx-logger
[travis-image]: https://img.shields.io/travis/X-SNX/snx-logger/master.svg?label=linux
[travis-url]: https://travis-ci.org/X-SNX/snx-logger
[appveyor-image]: https://img.shields.io/appveyor/ci/X-SNX/snx-logger/master.svg?label=windows
[appveyor-url]: https://ci.appveyor.com/project/X-SNX/snx-logger
[coveralls-image]: https://img.shields.io/coveralls/X-SNX/snx-logger.svg?style=flat
[coveralls-url]: https://coveralls.io/r/X-SNX/snx-logger?branch=master