0.0.3 • Published 9 years ago
snx-logger v0.0.3
snx-logger
基于winston的能灵活定义layout的logger框架。
特点
- 控制台颜色加亮
- 布局元素丰富
- 布局能自定义
- 支持string和json格式输出
- 支持控制台和文件的输出
- 支持express
使用
######1.默认使用
var logger = require("snx-logger").logger;
var log = logger.createLogger();
log.debug("test");
// [2014-11-27T08:36:36.886Z][default][debug][test]
默认设定
"default": {
CustomConsole: {
level: "debug",
output: "string",
layout: "timestamp:category:level:message"
}
}
######2.指定category
var logger = require("snx-logger").logger;
var log = logger.createLogger(“sample”);
log.debug("test");
// [2014-11-27T08:36:36.886Z][sample][debug][test]
默认设定
"default": {
CustomConsole: {
level: "debug",
output: "string",
layout: "timestamp:category:level:message"
}
}
######3.自定义布局
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.使用配置文件,定义全局布局
var logger = require("snx-logger").logger;
logger.configure("/path/../configLog.js");
var log = logger.createLogger("application");
log.debug("test");
//
######5.使用express的场合
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]
布局元素
- hostname
- category
- timestamp
- level
- message
- file
- line
- function
- requestURL express的场合,请求的URL和Method
- requestIP express的场合,请求的IP
- responseCode express的场合,响应码
- responseTime express的场合,响应时间
控制台输出自定义(CustomConsole的option)
- level 输出级别
off/debug/info/warn/error (default "info")
- output 输出格式
string/json (default "string')
- layout 定义布局
category:level:timestamp:... (default "timestamp:category:level:message')
文件输出自定义(CustomFile的option)
- level
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 文件的最大数,超过限制后会删除旧文件