0.0.3 • Published 9 years ago

snx-logger v0.0.3

Weekly downloads
3
License
MIT
Repository
github
Last release
9 years ago

snx-logger

基于winston的能灵活定义layout的logger框架。

NPM Version NPM Downloads Linux Build Windows Build Test Coverage

特点

  • 控制台颜色加亮
  • 布局元素丰富
  • 布局能自定义
  • 支持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 文件的最大数,超过限制后会删除旧文件

API

License

MIT

0.0.3

9 years ago

0.0.2

9 years ago

0.0.1

9 years ago