js-error-logger

JavaScript Error Logger

npm install js-error-logger
18 downloads in the last week
36 downloads in the last month

JavaScript Error Logger

js-error-logger 是一个小巧的 Web JavaScript 异常捕获工具,它由两部分组成:client 和 server。client 负责捕获异常,并发送给服务端。server 负责记录JavaScript Error Log。

Clone Project

git clone git://github.com/maxzhang/js-error-logger.git

Install Server

js-error-logger Server 使用 NodeJS 开发,依赖 Node 环境。

npm install

Run Server

npm start

or

node ./src/server/logger-server

Server Configuration

打开 "src/server/config.json" 文件,包含五个可配置属性:

  • String : port 服务端监听端口,默认8989
  • Array/String : groups 服务端允许的 group 分组
  • Array/String : filters 服务端URL过滤器,过滤发生错误的 FileName,如果符合过滤规则,则不记录错误日志
  • String : baseDirectory 在服务端保存 log 的根目录,默认"./"
  • String : directory 在服务端保存 log 的目录,默认"logs/"
  • Boolean console 在控制台输出日志,默认true
  • String conversionPattern 输出日志表达式,默认 [%d] %r %f:%l %t \"%m\" \"%u\"

Note: 表达式中的双引号 " 需要写成 \"

conversionPattern 可配置的参数包括:

  • %d : Error 发生时间,可以自定义日期输出格式,如:"%d{MMMM Do YYYY, h:mm:ss a}",默认格式为"YYYY-MM-DD hh:mm:ss",日期格式来自Moment.js
  • %r : 客户端 ip
  • %f : 发生错误的文件名
  • %l : 发生错误的行号
  • %t : Error Type
  • %m : 错误描述
  • %u : User Agent

Include Client

在页面尾部引入如下代码:

<script type="text/javascript" src="../../src/client/logger-client.js"></script>

Client Configuration

window.LOGGER_CONFIG = {
    url: 'http://localhost:8989/s.gif', // 提交 Error 的服务端URL
    group: 'demo', // Log分组名称,如设置 group 属性,服务端会按照 group 单独创建一个 log 文件记录日志
    filters: [], // URL过滤器,过滤发生错误的 FileName,如果符合过滤规则,则不发送错误日志
    disabled: false // 禁用 Logger 标识,默认true
};

filters 取值可以是一个 RegExp 的字符串,也是一个 RegExp 对象,如:filters: /.*localhost/ or filters: '.*localhost'。 filters 取值为 Array 时,表示多个 filter,如:filters: [/.*localhost/, /.*127\.0\.0\.1/]

Disable Client

禁用 Logger 有两种方法,运行过程中,设置window.LOGGER_CONFIG.disabled = true; or window.loggerDisabled = true;

npm loves you