snx-logger
基于winston的能灵活定义layout的logger框架。
特点
- 控制台颜色加亮
- 布局元素丰富
- 布局能自定义
- 支持string和json格式输出
- 支持控制台和文件的输出
- 支持express
使用
1.默认使用
var logger = logger;var log = logger;log;// [2014-11-27T08:36:36.886Z][default][debug][test]
默认设定
"default": CustomConsole: level: "debug" output: "string" layout: "timestamp:category:level:message"
2.指定category
var logger = logger;var log = logger;log;// [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 = logger;var log = logger;log;// [application][debug][time][xxx][xxxx][xxx][xx][test]
4.使用配置文件,定义全局布局
var logger = logger;logger;var log = logger;log;//
5.使用express的场合
var logger = logger;var express = var app = 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;// [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 文件的最大数,超过限制后会删除旧文件