logging

Log moduel of HaXe, it's like python logging.


Keywords
cross, sys, utility
License
MIT
Install
haxelib install logging 0.1.7

Documentation

logging

logging是Python logging的移植,相对mconsole提供了过滤日志的功能。

安装

$ haxelib install logging

or

$ haxelib git logging https://github.com/imcj/logging master src

使用方法

和所有的日志一样,提供一个静态的输出方法。

logging.Logging.info("hello");

or

import logging.Logging.info;
info("hello");

Logging.info方法用root logger输出内容,和下面的代码是等价的。

import logging.Logging;

var logger = Logging.getLogger("");
logger.info("hello");

Logger.disable 可以禁用这个Logger,关闭Logger的日志输出,更加灵活的方法是使用logging.Filter对象。

var logger = Logging.getLogger("me.imcj");
logger.disable = true;

// 什么都不会输出

利用Socket接收手机发来的日志。

客户端

var logger = Logging.getLogger('me.imcj.socket');
var address = "localhost:8800";
logger.addHandler(new logging.handlers.SocketHandler(address));

logger.info("hello");

服务端

这个是简单版本,用nc监听一个端口接收并输出日志,这是我的开发场景,把日志输出到24寸的显示器上。

$ while true; do nc -l 8800|tee -a debug.log; done

TODO

  • 英文文档
  • Logger.getChild 方法。
  • 利用宏在编译器剔除Log代码。
  • 格式化堆栈信息。
  • 兼容 Haxe 3。
  • logging-monitor
  • More handler:
    • FileHandler
    • NullHandler
    • NodeHandler
    • WatchedFileHandler
    • BaseRotatingHandler
    • RotatingFileHandler
    • TimedRotatingFileHandler
    • SocketHandler
    • DatagramHandler
    • SysLogHandler
    • NTEventLogHandler
    • SMTPHandler
    • MemoryHandler
    • HTTPHandler
    • QueueHandler

贡献

Changelog

  • 0.1.7 FIX HTML5 error and default add StreamHandler.
  • 0.1.6 Now passing through pos object so the line numbers of the code calling
  • 0.1.6 Add FileHandler.
  • 0.1.5 Add handle NodeHandle, sample.
  • 0.1.4 @lovedna 设置全局Handler。
  • 0.1.3 格式化信息中加入filenamelineno,log第三个参数可打印堆栈
  • 0.1.2 兼容 Haxe 3。
  • 0.1.1 新增SocketHandler
  • 0.1.0 完成一个基本可用的日志模块。